1

データベースにアクセスするために接続する OleDbConnection があります。しかし、クエリを実行すると、OleDbCommand はコマンドが無効であるという例外をスローします。コマンドが有効であることは完全に確信しています。

 string ret = "";

string command = "UPDATE tblUser set username = ?, password = ? where ID = 1";
dbConn.Open();

using (var dbCommand = dbConn.CreateCommand())
{
    dbCommand.Connection = dbConn;
    dbCommand.CommandText = command;
    dbCommand.Parameters.AddWithValue("?", username);
    dbCommand.Parameters.AddWithValue("?", password);

    int temp = dbCommand.ExecuteNonQuery();
    if (temp > 0)
        ret = "sukses";
    dbConn.Close();                
}
return ret;

ただし、上記のコードを実行すると、Syntax error in UPDATE statement.atという例外がスローされdbCommand.ExecuteNonQuery()ます。この問題に対処するには?

4

1 に答える 1

2

PASSWORD予約済みのキーワードなので、括弧でエスケープする必要があります。

UPDATE tblUser set username = ?, [password] = ? where ID = 1
于 2013-04-13T09:58:34.787 に答える