【问题标题】:Select item from Access DB从 Access DB 中选择项目
【发布时间】:2019-10-04 22:10:07
【问题描述】:

我正在 Access DB 的表中搜索一行。行的字段必须是用户输入的特定值。

OleDbCommand myQuery = new OleDbCommand("Select * from [Job Control] where [Job No] like '%" + job_search_value + "%';", myConn);

我取回了数据,但所有包含job_search_value 值的内容。 我需要的是具有恰好为job_search_value 的字段的表行。 [Job No] 字段为Int 并尝试过

OleDbCommand myQuery = new OleDbCommand("Select * from [Job Control] where [Job No]=" + job_search_value + ";", myConn);

OleDbCommand myQuery = new OleDbCommand("Select * from [Job Control] where [Job No]=" + Convert.ToInt32(job_search_value) + ";", myConn);

使用这 2 个命令,我没有收到像 Data mismatch 这样的错误,但也没有返回任何数据。

【问题讨论】:

    标签: c# ms-access select


    【解决方案1】:

    您应该并且必须使用 sql 参数来解决您的问题以及避免 SQL 注入。试试:

    OleDbCommand myQuery = new OleDbCommand("Select * from [Job Control] where [Job No]=@param", myConn);
    myQuery.Parameters.Add("@param"SQlDbType.Int).Value = int.Parse(job_search_value);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多