В настоящее время я занимаюсь простым программированием, связанным с SQL и C #.Я создал эту регистрационную форму, которая будет хранить данные, имя пользователя и пароль в базе данных SQLite.Это код, который я сейчас использую:
private void AddLoginInfo(string username, string password)
{
auth = new Authentication();
auth.getConnection();
using (SQLiteConnection con = new SQLiteConnection(auth.connectionstring))
{
SQLiteCommand cmd = new SQLiteCommand();
con.Open();
string que = @"INSERT INTO LoginInfo(Username, Password) VALUES (@username, @password)";
cmd.CommandText = que;
cmd.Connection = con;
cmd.Parameters.Add(new SQLiteParameter("@Username", username));
cmd.Parameters.Add(new SQLiteParameter("@Password", password));
cmd.ExecuteNonQuery();
MessageBox.Show("Account Created!");
}
}
Этот код в настоящее время работает и, тем не менее, добавляется к правильной таблице в базе данных при каждом добавлении нового пользователя.Пользовательская информация может использоваться для входа в систему, но она не отображается в таблице, которая просматривается с помощью DB Browser для SQLite.
Например, если я создаю нового пользователя;«admin» в качестве имени пользователя и «password» в качестве пароля, через форму я получаю окно с сообщением «Account Created» и могу использовать эту учетную запись для входа в систему.Однако, если я посмотрю эти данные в браузере БД, они не будут отображаться даже после обновления таблицы.
После некоторого копания я нашел это и увидел, что они былииспользуя sqlCommand.Parameters.AddWithValue
, поэтому я попробовал это в своем коде:
SQLiteCommand cmd = new SQLiteCommand(@"INSERT INTO LoginInfo(Username, Password) VALUES (@username, @password)", con);
cmd.Parameters.AddWithValue(new SQLiteParameter("@Username", txtBoxUsername.Text));
Я попробовал это, и я получил ошибку CS7036.Затем я понял, что они не использовали часть new SQLiteParameter()
, и поэтому я удалил ее cmd.Parameters.AddWithValue("@Username", txtBoxUsername.Text);
и повторил попытку, но она все равно не будет обновляться в таблице, но данные все еще можно будет использовать для входа в систему.
Я также нашел аналогичный пост , но никто не ответил на него.Теперь я не знаю, что делать, поэтому прошу вашей помощи.