我有一個名爲searchDB的方法,它根據用戶鍵入的關鍵字搜索數據庫。DataSet爲空
我將搜索結果存儲在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 (dataSet.Tables[0].Rows.Count == 0)
{
return null;
}
並返回0行。
任何人都可以指出我的錯誤。
use this:string sql =「SELECT [identifier] FROM [Category3] WHERE [identifier] LIKE'%」+ identifier +「%'」; –