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 对象插入 ms-access 查询获取无效查询异常
当我尝试执行超过 1 个查询时,循环在 OleDb 中插入数据中断