我尝试在登录后向表tbllogs
添加一些值,但是我收到错误
这是我的代码
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()));
但这也不起作用。
如果这还不够,我会提供更多代码,提前谢谢!
答案 0 :(得分:1)
更改此行:
SaveCmd.Parameters.AddWithValue("@LogsName", txtUser.Text);
进入这个:
SaveCmd.Parameters.AddWithValue("@LogsUser", txtUser.Text);
此外,正如其他人所提到的,您不应该将密码记录为纯文本。
答案 1 :(得分:-1)
参数名称在sql查询和c#参数
中应该相同