繁体   English   中英

我试图使用C#txtbox表单在mysql数据库中插入数据,但总是出现错误?

[英]I tried to insert data in mysql database using C# txtbox form but I always got an error?

我认为到目前为止这是我的代码,但我确实不知道这是什么问题。 我使用txtbox制作了用于用户名和密码的注册表,并用MD5加密了密码,我尝试删除MD5加密,以为可能是问题,但是当我删除它时仍然会出现问题。

ApareceCrudLib a = new ApareceCrudLib("localhost", "root", "",  "cashieringdb");

            string query = "INSERT INTO register (username,password) " +
                          "VALUES(" +
                           "'" + txtUser.Text + "'," +
                           "MD5('" + txtPass.Text +"')";
            a.mysqlInsert(query);
            MessageBox.Show("Account has been registered!");
            this.Close();

这是我的mysqlInsert类ApareceCrudLib的代码

 public void mysqlInsert(string query)
        {
            try
            {
                if (this.Open())
                {
                    MySqlCommand cmd = new MySqlCommand(query, conn);
                    cmd.ExecuteNonQuery();
                    this.Close();
                    System.Windows.Forms.MessageBox.Show("Record Inserted!");
                }
            }
            catch { this.Close(); System.Windows.Forms.MessageBox.Show("INSERT Record Error!"); }
            return;
        }

如您所见,我使用对话框捕获了错误,因此基本上,如果该对话框将无法插入或连接到数据库,则消息框将显示“ INSERT Record Error!”。 顺便说一句,Visual Studio仅在插入数据库时​​没有错误。

我认为插入数据库字符串查询的代码中某处错误=“ INSERT

INTO register (username,password) " +
                              "VALUES(" +
                               "'" + txtUser.Text + "'," +
                               "MD5('" + txtPass.Text +"')";

我可能很无聊,可能是逗号,分号。

您好!这里是错误的图片!

在此处输入图片说明

您必须在字符串查询中添加“)”。

string query = "INSERT INTO register (username,password) " +
                      "VALUES(" +
                       "'" + txtUser.Text + "'," +
                       "MD5('" + txtPass.Text +"'))";
                                                  ^ HERE

SQL不正确。 您有两个打开的“(”,只有一个关闭。

为了查看实际错误,请尝试此:

try
{
    if (this.Open())
    {
        MySqlCommand cmd = new MySqlCommand(query, conn);
        cmd.ExecuteNonQuery();
        this.Close();
        System.Windows.Forms.MessageBox.Show("Record Inserted!");
    }
}
catch(Exception ex)
{
    this.Close();
    System.Windows.Forms.MessageBox.Show(String.Format("INSERT Record Error! {0}", ex.Message));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM