私はMicrosoft Accessに接続してデータベースに書き込む方法を学んでいます。私はAccessでデータベースを作成し、そこにデータを挿入したいと思っています。なぜSQL文にエラーがあると言いますか?
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Amin\Desktop\NamesDatabase1.accdb");
OleDbCommand cmd = new OleDbCommand();
string FN = textBox1.Text;
string LN = textBox2.Text;
cmd.CommandText = "INSERT INTO Names (FirstName, LastName) Values (FN,LN)";
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
実行する前にエラーがないようです。私はその後、私はエラーを取得し、プログラムを実行し、私のtextBox1.text
とtextBox2.text
を押しSAVEを更新:
SYNTAX ERROR in SQL statement Insert into
は私が間違って何をしました?
このようなパラメータを使用する習慣に入る必要があります:http://stackoverflow.com/questions/5893837/using-parameters-inserting-data-into-access-databaseこれはこの問題を解決して安全を保ちますSQLインジェクションから。 –
FN/LNが文字列に自動的に補間されないため、クエリが失敗します。 –