我有一个名为 searchDB 的方法,它根据用户键入的关键字搜索数据库。
我将搜索结果存储在 DataSet 中。此方法仅搜索一列。
public DataSet searchDB(string identifier)
{
DataSet dataSet = new DataSet();
OleDbConnection oleConn = new OleDbConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT [identifier] FROM [Category3] WHERE [identifier] LIKE '" + identifier + "*'";
//string sql = "SELECT [identifier] FROM [Category3]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "identifier");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
if (dataSet.Tables[0].Rows.Count == 0)
{
return null;
}
else
return dataSet;
}
变量“标识符”从textbox
. 假设,当我将“windows”作为变量的值传递时,它应该返回 1 行。但是当我放断点时,它正在达到 if 条件
if (dataSet.Tables[0].Rows.Count == 0)
{
return null;
}
并返回 0 行。
谁能指出我的错误。