Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中access数据库的更新查询出错_C#_Ms Access - Fatal编程技术网

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
时,你看到了什么?我已经设置了断点,但它不会带我去调试器并弹出异常。在声明中加括号<代码>设置[读取]=?当我按优先顺序操作时,它仍然不工作。当我按优先顺序操作时,它仍然不工作。