我正在尝试使用like运算符搜索表,但它总是返回0条记录。但是,如果我在MS Access中的SQL视图中使用相同的查询,它将按预期工作。我使用以下代码:
string searchStr=search_text.Text;
if (search_text.Text.Length > 0)
{
string ConnectString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" +
Server.MapPath("db\\fencing.mdb;");
OleDbConnection objCon;
OleDbCommand objCmd;
DataTable DS = new DataTable();
string strQuery = "select * from WorkOrders where subdivision like '*"
+ searchStr + "*'";
objCon = new OleDbConnection(ConnectString);
OleDbDataAdapter d1 = new OleDbDataAdapter(strQuery, objCon);
objCon.Open();
d1.Fill(DS);
int totalPages = 0;
if (DS.Rows.Count > 0)
{
totalPages = DS.Rows.Count;
GridView1.DataSource = DS;
GridView1.DataBind();
custPager.TotalPages = totalPages % GridView1.PageSize == 0 ?
totalPages / GridView1.PageSize :
totalPages / GridView1.PageSize + 1;
}
objCon.Close();
}
答案 0 :(得分:0)
尝试将*字符更改为%,这些字符在SQL查询中用作通配符。
答案 1 :(得分:0)
我使用它可以访问它的工作状态。 你必须用%来代替*。
string SelectQry = @“选择ID,来自Ledger的名称,其中名称如'%”+名称+“%'”;