Я довольно новичок в C #, и в настоящее время я делаю приложение Windows Forms, которое позволяет пользователям входить в систему, регистрироваться, а также обновлять свои учетные данные, то есть их имена пользователей и пароли. До сих пор я выполнил вход в систему и зарегистрировался, но сейчас я нахожусь. застрял в обновлении пользовательских данных. проблема в том, что когда я пытаюсь запустить код для обновления пользовательских данных, он говорит, что файл базы данных заблокирован
мое приложение позволяет пользователю входить в систему, регистрироваться и обновлять свои данные, если они этого хотят. пользовательские данные хранятся в базе данных sqlite. файл базы данных называется Users, а таблица, в которой хранятся данные, называется UserInfo.
using (var con = new SQLiteConnection("Data Source=Users.sqlite;Version=3;"))
using (var cmd = new SQLiteCommand())
{
cmd.Connection = con;
con.Open();
var cmd1 = @"select count(*) from UserInfo where UserName = @oldusername
and Password = @oldpassword;";
var cmd2 = @"UPDATE UserInfo SET UserName = @newusername , Password= @newpassword
where UserName = @oldusername and Password = @oldpassword;";
cmd.CommandText = cmd1;
cmd.Parameters.AddWithValue("@oldusername", oldusername);
cmd.Parameters.AddWithValue("@oldpassword", oldpassword);
var userCount = (long)cmd.ExecuteScalar();
if (userCount == 1)
{
cmd.CommandText = cmd2;
cmd.Parameters.AddWithValue("@newusername", newusername);
cmd.Parameters.AddWithValue("@newpassword", newpassword);
var result = (Int32)cmd.ExecuteNonQuery();
if (result == 1)
{
Console.WriteLine("Username and Password Updated Successfully! | Task Completed");
}
}
else
{
MessageBox.Show("Invalid username or password",
"Incorrect details entered");
}
}
Я ожидаю, что для получения дополнительных сведений о пользователе необходимо обновить данные пользователя, и должно появиться сообщение о том, что данные были обновлены, но мой фактический результат показывает сообщение о том, что файл базы данных заблокирован, и я не знаю, что я делаю. неправильно