OleDB插入查询错误[重复]

Posted

技术标签:

【中文标题】OleDB插入查询错误[重复]【英文标题】:OleDB insert query error [duplicate] 【发布时间】:2017-08-02 21:27:06 【问题描述】:

这是我的代码,我收到插入错误。

请帮忙

OleDbConnection cnn = 新 OleDbConnection(dbConnection); cnn.Open(); OleDbCommand cmd = cnn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "插入 [Emp 数据] (" + “EmpID, Active, EmpName, DOJ, DOL, [Next Manager], DOB, Department, Section, Design, [Father Name], Address, Town, CNIC, Education, [Habib Metro], [Salary PM], EmailID, [ JS 银行帐户]、[加入时的薪水]、[Last inc Rs]、[Last inc Date]、[Next of Kin Name]、关系、[Contact No]、评论、[离职原因]、DOC、[Shift Timings ]、[第 1 天休息]、[第 2 天休息]" + ") 值 (" + id + ", 'A' , '" + name + "', '" + doj + "', null '" + manager + "', '" + dob + "', '" + dept + "', ' " + section + "', '" + desg + "', '" + 父亲 + "', '" + add + "', '" + town + "', '" + cnic + "', '" +教育 + "', '" + MetroBank + "', " + 薪水PM + ", '" + 电子邮件 + "', '" + jsBank + "', " + 薪水 +", 0, 0, null, '" + kinName + "', '" + kinRelation + "', '" + kinContact + "', '" + cmets + "', null '" + doc + "', '" + shift + "', '" + offDay1 + "', '" + offDay2 + "');"; cmd.ExecuteNonQuery(); cnn.Close();

【问题讨论】:

专业提示,删除帖子中的<pre> 标签,然后突出显示所有代码并按CTRL+K 很好,我们都是先知,我们都知道,你遇到了什么样的错误。但是等等......我们不是......所以请说一个。 其抛出异常 "INSERT INTO 语句中的语法错误。" 只看一眼,我几乎可以保证你在连接所有这些变量时犯了一个错误。要么你有不正确的引用或空值,要么两者都有,等等。使用参数化查询来缓解这些问题并防止 SQL 注入。 【参考方案1】:

我怀疑:

null '"

应该是:

null, '"

您在几个地方缺少逗号。

【讨论】:

在添加逗号后它仍然不工作,查询正在工作,但是当我通过 c# 代码发送查询时,它在 INSERT INTO 语句中抛出 Syxtax 错误的错误 只是显示 INSERT INTO 语句中的语法错误 不,不是@RizwanAhmed。那是exception。我想知道cmd.CommandText的内容。在cmd.ExecuteNonQuery(); 行上放一个断点,告诉我们cmd.CommandText 的值是多少。 blogs.msdn.microsoft.com/devops/2016/07/15/… 执行非查询方法的值当前上下文中不存在名称'ExecuteNonQuery' @RizWanAhmed 如果您不能分享cmd.CommandText 的内容,我绝对无能为力。

以上是关于OleDB插入查询错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 OleDb 插入访问时出现语法错误

使用 Oledb 对象插入 ms-access 查询获取无效查询异常

当我尝试执行超过 1 个查询时,循环在 OleDb 中插入数据中断

在 VB.NET 中执行查询会导致 GUI 错误 [重复]

Winforms (C#) 中的 OleDb 参数查询:没有错误但没有更新行

使用 OleDB 列出所有存储过程和查询时出现不明确的外部连接错误