在SQL语句结束时缺少分号(;)。分号已经存在

时间:2013-11-20 19:23:36

标签: sql vb.net where-clause insert-into oledbcommand

运行此代码时,我一直收到此错误Missing semicolon (;) at end of SQL statement.

Dim cmd3 As OleDbCommand = New OleDbCommand("INSERT INTO Tickers (Quarter_Balance_Sheets) VALUES (Scrapalbe) WHERE Ticker = A;", con)
cmd3.ExecuteNonQuery()

我做错了什么?

3 个答案:

答案 0 :(得分:4)

编辑..

对不起。再次读取后,不能在INSERT语句中使用WHERE,松散WHERE子句或生成UPDATE语句。

INSERT INTO ... WHERE不是有效的查询。

如果您发布的插入内容具有正确的值和列,则更新应为:

Dim cmd3 As OleDbCommand = New OleDbCommand("UPDATE Tickers SET Quarter_Balance_Sheets = 'Scrapalbe' WHERE Ticker = 'A';", con)
cmd3.ExecuteNonQuery()

答案 1 :(得分:3)

缺少引号WHERE Ticker = 'A'VALUES ('Scrapalbe')

编辑:@Engerlost是正确的,where不适用于insert;你仍需要引号但完全放弃where...

答案 2 :(得分:0)

您的查询中的问题是您正在使用insert语句中的位置。

查询是,

insert into Tablename (val1, val2, ...) values(val1, val2,....)