私は新しく、これが私の最初の質問です。
データベースに値を挿入しようとすると、エラー メッセージが表示されます
')' 付近の構文が正しくありません。
cmd.ExecuteNonQuery()
強調表示されます。これが私のコードです:
con.Open()
cmd = New SqlCommand("INSERT INTO orders ('" + IDProduct.Text + "')", con)
cmd.ExecuteNonQuery()
con.Close()
私は新しく、これが私の最初の質問です。
データベースに値を挿入しようとすると、エラー メッセージが表示されます
')' 付近の構文が正しくありません。
cmd.ExecuteNonQuery()
強調表示されます。これが私のコードです:
con.Open()
cmd = New SqlCommand("INSERT INTO orders ('" + IDProduct.Text + "')", con)
cmd.ExecuteNonQuery()
con.Close()
まず、このようなSQLクエリを作成しないでください。代わりにパラメーター化されたクエリを使用してください。
次に、SQL コマンドに「VALUES」がありません。
INSERT INTO orders VALUES ( .... )
編集:
第三に、marc_s が示唆するように、列名も指定することをお勧めします。そうすれば、後で驚くような事態を避けることができます。
SQL ステートメント INSERT INTO の構文には 2 つの形式があります。
列名を指定していません
INSERT INTO table VALUES (value1, value2, value3,...)
または、列名と値の両方を指定します
INSERT INTO table (col1, col2, col3,...)
VALUES (value1, value2, value3,...)
すべてのフィールド値が指定されている場合は、最初のケースを使用する必要があります。
特定の列の値を挿入する場合は、2 番目のケースを使用する必要があります。
次の値を使用する必要があります。
INSERT INTO table_name
VALUES (value1, value2, value3,...)
挿入クエリの構文は次のとおりです。
insert into <tablename> values(col1 <datatype>,col2 <datatype>)
見逃しvalues
たので、次の行を変更してエラーが発生します。
cmd = New SqlCommand("INSERT INTO orders values ('" + IDProduct.Text + "')", con)