这是我在调试时收到的错误。
{"Syntax error in string in query expression ''Laptop);'."}
这是我无法正常工作的SQL语句。不管我做什么,似乎都会添加一个随机数。在声明的结尾,我不知道为什么要这么做。
Sql = "INSERT INTO Devices ( [Asset Number], [Service Tag], Manufacturer, ModelName, Location, Room, Cart, [Purchase Date], Department, [Device Type] ) VALUES('" & AssetNum & "','" & ServTag & "','" & Manu & "','" & Model & "','" & Location & "','" & Room & "','" & Cart & "','" & PurchDate & "','" & Department & "','" & DeviceType & ");"
这是我所做的陈述,效果很好。它只是一个长字符串值。我需要上面的变量来工作的原因是因为它们已链接到文本框,以便用户可以输入数据。
Sql = "INSERT INTO Devices ( [Asset Number], [Service Tag], Manufacturer, ModelName, Location, Room, Cart, [Purchase Date], Department, [Device Type] )VALUES (10, 1234, 'Dell', 'Latitude E6410', 'John McIntire', 100, 0, '5/17/2015', 'Technology', 'Laptop');"
所以,是的,我基本上陷入了困境,无法弄清为什么第一个查询不起作用。我已经坚持了一段时间,确实可以使用一些帮助。
这就是我执行查询的方式。
cmd = New OleDb.OleDbCommand(Sql)
cmd.Connection = dbConn
cmd.ExecuteNonQuery()
您在结尾缺少单引号,以将DeviceType之前的单引号结束:
"','" & DeviceType & ");"
添加它,它应该可以解决您的问题:
"','" & DeviceType & "');"
无论如何,您当前拥有的内容很容易受到SQL注入的攻击,而对您的查询进行参数化实际上是解决此问题的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句