2017-12-08 70 views
1

私はMicrosoft Access 2016で作業しており、tbl_usersテーブルにデータを入力するASP.NET WebFormを開発しています。私は、次のサーバー側のコードを持って次のようにオートナンバー型列にデータを入力せずにMS Accessテーブルにデータを挿入する方法は?

connectionString = GetConnString(); 
string insertQuery = "insert into tbl_users (fullName, emailID, password) values(?, ?, ?)"; 
using (OleDbConnection con = new OleDbConnection(connectionString)) 
{ 
    con.Open(); 
    using (OleDbCommand insertCommand = new OleDbCommand(insertQuery, con)) 
    { 
     insertCommand.CommandType = CommandType.Text; 
     insertCommand.Parameters.AddWithValue("fullName", TextBoxFullName.Text); 
     insertCommand.Parameters.AddWithValue("emailID", TextBoxEmailID.Text); 
     insertCommand.Parameters.AddWithValue("password", TextBoxPassword.Text);   
     insertCommand.ExecuteNonQuery(); 
     con.Close(); 
    } 
} 

テーブルスキーマがある:私は、コードを実行すると

tbl_users(userID(AutoNumber), fullName(LongText), emailID(LongText), password(LongText))

、私は次のエラーを取得する:

System.Data.OleDb.OleDbException (0x80040E14): Syntax error in INSERT INTO statement

どこが間違っていますか?

+0

実行します。ありがとう! –

答えて

1

passwordはAccess SQLのキーワードなので、括弧で囲む必要があります。角括弧([password])を追加すると、クエリはうまく動作します。

最終結果:完全

string insertQuery = "insert into tbl_users (fullName, emailID, [password]) values(?, ?, ?)"; 
関連する問題