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 の構文には 2 つの形式があります。

列名を指定していません

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

または、列名と値の両方を指定します

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

すべてのフィールド値が指定されている場合は、最初のケースを使用する必要があります。
特定の列の値を挿入する場合は、2 番目のケースを使用する必要があります。

于 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 に答える