2012-04-13 14 views
1

アクセスデータベースとの接続時にエラーが発生しました。INSERT INTO文に構文エラーがあります。私のコードは:INSERT INTO文の構文エラー

string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/Database2.accdb;Persist Security Info=False;"); 
     OleDbConnection conn = new OleDbConnection(str); 
     conn.Open(); 
     string query = "insert into data (FirstName,Email,Password,Address) values ('" + 
      txt_fstname.Text + "','" + txt_email.Text + "', '" + 
      txt_pass.Text + "', '" + txt_add.Text + "')"; 
     OleDbCommand cmd = new OleDbCommand(query,conn); 
     cmd.ExecuteNonQuery(); 
     conn.Close(); 
     Response.Redirect("Default.aspx"); 

plzです。

あなたは角括弧で囲む必要がありますので、「感謝」

+0

エラーメッセージを追加してもらえますか?実行時に生成されたクエリ文字列を返します。おそらく、テキストボックスにはいくつかの特殊文字があります。 –

+3

文字列、整数、日付をコマンドに手動で追加するクエリを作成しないでください: 'Parameters'を使用すると、あなたの人生はより簡単になります!!! – Marco

+2

[SQLインジェクション](http://xkcd.com/327)誰ですか? –

答えて

3

パスワードは、ジェット/ ACE SQLでreserved wordです:

string query = "insert into data (FirstName,Email,[Password],Address) values ('" + 
+0

ありがとう...助けてください。 –

関連する問題