2

我是新手,这是我的第一个问题。

我正在尝试向数据库中插入一个值并收到错误消息

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

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

con.Open()
cmd = New SqlCommand("INSERT INTO orders ('" + IDProduct.Text + "')", con)
cmd.ExecuteNonQuery()
con.Close()
4

4 回答 4

8

首先,从不从不 构建这样的 sql 查询。请改用参数化查询。

其次,您的 sql 命令中缺少“VALUES”。

INSERT INTO orders VALUES ( .... )

编辑:

第三,正如 marc_s 所建议的,最好也指定列名。这样你就可以避免以后出现一些意外。

于 2012-06-23T21:22:57.033 回答
2

SQL 语句 INSERT INTO 的语法有两种形式

您没有指定列名

INSERT INTO table VALUES (value1, value2, value3,...)

或者您同时指定列名和值

INSERT INTO table (col1, col2, col3,...)
             VALUES (value1, value2, value3,...)

当指定所有字段值时,应使用第一种情况。
当您要插入特定列的值时,应使用第二种情况

于 2012-06-23T21:24:31.860 回答
1

应使用的值:

INSERT INTO table_name
VALUES (value1, value2, value3,...)
于 2012-06-23T21:19:48.637 回答
0

插入查询语法为:

insert into <tablename> values(col1 <datatype>,col2 <datatype>)

你错过了values这就是为什么你得到错误修改这一行:

 cmd = New SqlCommand("INSERT INTO orders values ('" + IDProduct.Text + "')", con)
于 2012-06-23T21:25:25.120 回答