MySqlexception未处理,在命令执行期间遇到致命错误

时间:2017-02-06 23:25:18

标签: c# mysql

我尝试在登录后向表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()));

但这也不起作用。

如果这还不够,我会提供更多代码,提前谢谢!

2 个答案:

答案 0 :(得分:1)

更改此行:

   SaveCmd.Parameters.AddWithValue("@LogsName", txtUser.Text);

进入这个:

 SaveCmd.Parameters.AddWithValue("@LogsUser", txtUser.Text);

此外,正如其他人所提到的,您不应该将密码记录为纯文本。

答案 1 :(得分:-1)

参数名称在sql查询和c#参数

中应该相同