2014-09-28 72 views
0

lblMessage說它已經註冊,但是當我檢查我的數據庫時沒有記錄。SQL「成功」但未更新數據庫?

下面是我的代碼:

Try 
    con = New MySqlConnection("Server=localhost;Database;Uid=root;Pwd=;") 
    Using cmd = New MySqlCommand("START TRANSACTION; INSERT INTO account_table(acc_user, acc_pass, acc_mail, acc_ques, acc_ans, acc_priv) VALUES(@p3, @p4, @p5, @p6, @p7, 'user'); SELECT LAST_INSERT_ID(acc_id) FROM account_table; INSERT INTO patient_table(acc_id, pat_fname, pat_lname) VALUES (LAST_INSERT_ID(), @p1, @p2); COMMIT;", con) 
     cmd.Parameters.AddWithValue("@p1", firstname.Value.ToString) 
     cmd.Parameters.AddWithValue("@p2", lastname.Value.ToString) 
     cmd.Parameters.AddWithValue("@p3", username.Value.ToString) 
     cmd.Parameters.AddWithValue("@p4", password.Value.ToString) 
     cmd.Parameters.AddWithValue("@p5", email.Value.ToString) 
     cmd.Parameters.AddWithValue("@p6", quest.Value.ToString) 
     cmd.Parameters.AddWithValue("@p7", answer.Value.ToString) 
     con.Open() 
    End Using 
    lblMessage.Text = "Registered!" 
Catch ex As Exception 
    lblMessage.Text = "The username or email appears to be taken." 
End Try 
con.Close() 

出現任何錯誤,所以我不太清楚什麼是錯的

+4

您沒有執行查詢 – Plutonix 2014-09-28 01:01:36

+0

哦,您是對的--_-謝謝反正 – piece 2014-09-28 01:04:44

回答

2

你永遠不執行該語句。您需要:

con.Open() 
cmd.ExecuteNonQuery() 
con.Close()