c#中access数据库的更新查询出错
我在下面的问题中遇到了错误。据我所知,我把所有的东西都写得很好。但它的错误在于: “更新查询中有错误”c#中access数据库的更新查询出错,c#,ms-access,C#,Ms Access,我在下面的问题中遇到了错误。据我所知,我把所有的东西都写得很好。但它的错误在于: “更新查询中有错误” 在查询字符串中,按优先级考虑参数,但创建它们时,给它们一个名称。 根据,OleDbCommand不支持命名参数 看看这个例子(来源:): 在查询字符串中,按优先级考虑参数,但创建它们时,给它们一个名称。 根据,OleDbCommand不支持命名参数 看看这个例子(来源:): 你没有给我们太多的信息但是 我认为你的Cont\u no类型是数字类型,而不是字符类型。看起来这就是为什么当您尝试使用'
在查询字符串中,按优先级考虑参数,但创建它们时,给它们一个名称。
根据,OleDbCommand不支持命名参数 看看这个例子(来源:):在查询字符串中,按优先级考虑参数,但创建它们时,给它们一个名称。
根据,OleDbCommand不支持命名参数 看看这个例子(来源:):你没有给我们太多的信息但是 我认为你的
Cont\u no
类型是数字类型,而不是字符类型。看起来这就是为什么当您尝试使用'
添加它时出错的原因
比如像,
Cont_no = '123'
试试这个
string insert_query = "update aho set [read]=?,pick=? where Cont_no=?";
OleDbCommand ocmd = new OleDbCommand();
ocmd.CommandText = insert_query;
ocmd.Parameters.AddWithValue("@read_val", Convert.ToInt32(read.Text));
ocmd.Parameters.AddWithValue("@pic_val", Convert.ToInt32(pick.Text));
ocmd.Parameters.AddWithValue("@contrct_no", contract_no);
ocmd.Connection = conn;
ocmd.ExecuteNonQuery();
编辑:HansUp是<代码>读取是一个错误。您应该在查询中使用方括号,如
[Read]
。您没有给我们提供太多信息,但是
我认为你的Cont\u no
类型是数字类型,而不是字符类型。看起来这就是为什么当您尝试使用'
添加它时出错的原因
比如像,
Cont_no = '123'
试试这个
string insert_query = "update aho set [read]=?,pick=? where Cont_no=?";
OleDbCommand ocmd = new OleDbCommand();
ocmd.CommandText = insert_query;
ocmd.Parameters.AddWithValue("@read_val", Convert.ToInt32(read.Text));
ocmd.Parameters.AddWithValue("@pic_val", Convert.ToInt32(pick.Text));
ocmd.Parameters.AddWithValue("@contrct_no", contract_no);
ocmd.Connection = conn;
ocmd.ExecuteNonQuery();
编辑:HansUp是<代码>读取是一个错误。在查询中,应将其与方括号一起使用,如
[Read]
。调试时,插入查询的外观是什么?调试时插入查询的外观是什么?Cont\u no是字符串。您提供的解决方案仍然不可用working@user2927881调试时,insert\u查询
是什么样子的?@user2927881我并没有要求异常。我在问,当你在调试器中查看insert\u query
时,你看到了什么?我已经设置了断点,但它不会带我去调试器并弹出异常。在声明中加括号<代码>设置[读取]=?Cont\u no为字符串。您提供的解决方案仍然不可用working@user2927881调试时,insert\u查询
是什么样子的?@user2927881我并没有要求异常。我在问,当你在调试器中查看insert\u query
时,你看到了什么?我已经设置了断点,但它不会带我去调试器并弹出异常。在声明中加括号<代码>设置[读取]=?当我按优先顺序操作时,它仍然不工作。当我按优先顺序操作时,它仍然不工作。