[英]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.