')'附近的语法不正确.尝试将值插入数据库时

use*_*362 2 sql vb.net asp.net visual-studio-2010 sql-server-2008

我是新人,这是我的第一个问题.

我正在尝试将值插入数据库,我收到错误消息

')'附近的语法不正确.

cmd.ExecuteNonQuery()突出显示.这是我的代码:

con.Open()
cmd = New SqlCommand("INSERT INTO orders ('" + IDProduct.Text + "')", con)
cmd.ExecuteNonQuery()
con.Close()
Run Code Online (Sandbox Code Playgroud)

wal*_*her 8

首先,从来没有,永远 不要像这样构建SQL查询.请改用参数化查询.

其次,你在sql命令中缺少"VALUES".

INSERT INTO orders VALUES ( .... )
Run Code Online (Sandbox Code Playgroud)

编辑:

第三,正如marc_s所建议的那样,指定列名也是个好主意.这样你以后可以避免一些惊喜.

  • 另外,我想补充:**总是**在`INSERT`语句中指定一个显式列列表:`INSERT INTO dbo.Orders(Col1,Col2,Col3,....)VALUES(VAl1,Val2,Val3 ,. ....)` (2认同)