2012-04-21 123 views
0

我試圖更新數據。每當我使用參數化查詢,它會給我錯誤Fatal Error Encountered during command executionUPDATE語句中C#中SQL參數的問題

這裏是我的代碼:

public void updateAccount(Int32 cashierid, string cashieruser, string isadmin, string cashierfname, string cashiermname, string cashierlname, string cashierpass) 
{ 
    con.ConnectionString = conString;  
    String sql = "UPDATE cashieraccount SET cashieruser = ?cashieruser, cashierpass = ?cashierpass, isadmin = ?isadmin, cashierfname = ?cashierfname, cashiermname = ?cashiermname, cashierlname = ?cashierlname"; 
    sql += "WHERE cashierid = ?cashierid"; 
    try 
    { 
     con.Open(); 
     MySqlCommand cmd = new MySqlCommand(sql, con); 
     cmd.Parameters.AddWithValue("?cashieruser", cashieruser); 
     cmd.Parameters.AddWithValue("?cashierpass", cashierpass); 
     cmd.Parameters.AddWithValue("?isadmin", isadmin); 
     cmd.Parameters.AddWithValue("?cashierfname", cashierfname); 
     cmd.Parameters.AddWithValue("?cashiermname", cashiermname); 
     cmd.Parameters.AddWithValue("?cashierlname", cashierlname); 
     cmd.Parameters.AddWithValue("?cashierid", cashierid); 
     cmd.ExecuteNonQuery(); **//Fatar Error Encountered during command execution** 
    } 
    finally 
    { 
     con.Close(); 
    } 
} 

有沒有人有什麼建議?

回答

4

我失去了你的參數後面的空格中,where句之前:

String sql = "UPDATE cashieraccount SET cashieruser = ?cashieruser, cashierpass = ?cashierpass, isadmin = ?isadmin, cashierfname = ?cashierfname, cashiermname = ?cashiermname, cashierlname = ?cashierlname"; 
sql += " WHERE cashierid = ?cashierid"; 
// here^
+0

謝謝主席先生.. – Bon 2012-04-22 03:33:29