Я пытаюсь добавить некоторые значения в таблице tbllogs
после входа в систему, но я получаю сообщение об ошибкеMySqlexception было необработанное, фатальная ошибка во время выполнения команды
Вот мой код
if (ctr == 1)
{
Data.con.Open();
MetroMessageBox.Show(this, "Login Success!", "Welcome!", MessageBoxButtons.OK, MessageBoxIcon.Information);
MySqlDataAdapter da = new MySqlDataAdapter("Select * From dbinfo.tbluser where UserName = '" + txtUser.Text + "' and UserPassword = '" + txtPass.Text + "'", Data.con);
DataTable dt = new DataTable();
da.Fill(dt);
Data.UserID = dt.Rows[0][0].ToString();
Data.UserName = dt.Rows[0][1].ToString();
Data.UserLevel = dt.Rows[0][3].ToString();
string SaveStr = "Insert into dbinfo.tbllogs (LogsUser, LogsPassword) Values (@LogsUser, @LogsPassword)";
MySqlCommand SaveCmd = new MySqlCommand(SaveStr, Data.con);
//SaveCmd.Parameters.AddWithValue("@LogsID", Data.UserID = dt.Rows[0][0].ToString());
SaveCmd.Parameters.AddWithValue("@LogsName", txtUser.Text);
SaveCmd.Parameters.AddWithValue("@LogsPassword", txtPass.Text);
//SaveCmd.Parameters.AddWithValue("@LogsLevel", Data.UserLevel = dt.Rows[0][3].ToString());
//SaveCmd.Parameters.AddWithValue("@LogsDateIN", timelabel.Text);
SaveCmd.ExecuteNonQuery();
Data.con.Close();
LoadData();
Menu frmMenu = new Menu();
frmMenu.Show();
this.Hide();
}
Я попытался изменить линию
SaveCmd.Parameters.AddWithValue("@LogsName", txtUser.Text);
в
SaveCmd.Parameters.AddWithValue("@LogsName", Data.Password = dt.Rows[0][2].ToString()));
но это тоже не сработало.
Я предоставлю больше кода, если этого недостаточно, спасибо заранее!
Внутреннее исключение обычно дает больше информации. Вы никогда не должны хранить пароли как обычный текст. Почему пароль регистрируется в любом случае? – Plutonix
? Команда ожидает параметр, называемый ** LogsUser' **. И вы не должны хранить пароли в виде обычного текста. – stuartd
выполните поиск в Google и прочитайте, как его использовать, а также создайте «Параметризированные запросы», также прочитайте, как использовать конструкцию 'using() {}' – MethodMan