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