0

コンマで区切られた値を持つ多くのフィールドがあります。それらをMySqlテーブルに挿入する必要があります

homeToSchool[0] = "Name";
homeToSchool[1] = "Mumbai, 400080, India";
homeToSchool[2] = "Malad, MG";

var cmdText ="INSERT INTO schoolschedule(Name, From, To) VALUES (@Name, @From, @To)";
cmd.Parameters.AddWithValue("@Name", homeToSchool[0]);
cmd.Parameters.AddWithValue("@From", homeToSchool[1]);
cmd.Parameters.AddWithValue("@To", homeToSchool[2]);
connection.Open();
cmd.ExecuteNonQuery();

コンマ区切りの値が原因でエラーが発生しています。

4

1 に答える 1

7

エラーメッセージは次のとおりです。

「SQL 構文にエラーがあります。'From, To) VALUES..' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。」

実際、問題は値にありません。使用した列名にあり、エスケープしなかったため、構文エラーが発生しました。

FROMおよびTOは予約済みキーワードです。バッククォートでラップすれば、引き続き使用できます。

INSERT INTO schoolschedule(Name, `From`, `To`) VALUES (@Name, @From, @To)

テーブルを変更する機会がある場合は、予約済みのキーワードではない列名を変更してください。これにより、将来的に問題が発生するのを防ぐことができます。

于 2013-04-09T06:56:40.877 に答える