У меня есть OleDbConnection для подключения к базе данных доступа. Но когда я выполняю запрос, OleDbCommand бросает исключение, говоря, что команда недействительна. Я абсолютно уверен, что команда действительна.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.
в dbCommand.ExecuteNonQuery()
. Как справиться с этой проблемой?
Возможно, имя пользователя и пароль являются зарезервированными словами? Также не обязательно добавлять параметры с именем? потому что OleDbParameters являются позиционными, а не названными. В b4 все примеры кода с использованием именованных параметров. –