public static bool ChangePassword(string username, string password)
{
string sql = "UPDATE Users SET Password = @Password WHERE UserName = @Username";
OleDbCommand cmd = new OleDbCommand(sql, connect);
cmd.Parameters.AddWithValue("@Password", hashPassword(password));
cmd.Parameters.AddWithValue("@Username", username);
connect.Open();
int rows = cmd.ExecuteNonQuery();
if (rows > 0)
return true;
return false;
}
Строка подключения определяется как атрибут класса.Кроме того, я использовал этот вид для установки параметров в других функциях, и они отлично работают, я не знаю, в чем здесь проблема.Я получаю синтаксическую ошибку для этого оператора SQL, я не знаю, что с ним не так.
Edit
Это одна из функций, которая работает, этоэто INSERT SQL заявление, но код похож.Надеюсь, это поможет вам, выяснить, в чем проблема с этим обновлением ..
public static bool CreateUser(string username, string password)
{
OleDbCommand cmd = new OleDbCommand("INSERT INTO Users VALUES(@Username, @Password)", connect);
cmd.Parameters.AddWithValue("@Username", username);
cmd.Parameters.AddWithValue("@Password", hashPassword(password));
connect.Open();
int rows = cmd.ExecuteNonQuery();
if (rows > 0) return true;
else return false;
}