不能使用 c# 在 MS Access 中使用类似的运算符

本文关键字:运算符 MS 不能 Access | 更新日期: 2023-09-27 17:56:46

我正在尝试使用 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();
}

不能使用 c# 在 MS Access 中使用类似的运算符

尝试将 * 字符更改为 %,这是在 SQL 查询中用作通配符的内容。

我已经使用它来访问它运行良好。您还必须尝试使用 % 代替 *。

字符串 SelectQry = @" 选择 ID,分类账中的名称,其中名称像 '%" + 名称 + "%" ";