2011-03-02 53 views
0

以下代碼中的錯誤是什麼,以及如何使用表單傳遞[email protected][email protected]要更新的ODBC命令

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=new_db;" + "UID=root;" + "PASSWORD=password;" + "OPTION=3"; 

OdbcConnection MyConnection = new OdbcConnection(MyConString); 

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create SET [email protected] WHERE [email protected]" , MyConnection); 

MyConnection.Open(); 

cmd.ExecuteNonQuery(); 
+0

它給了什麼錯誤? – 2011-03-02 20:45:26

+0

也可以告訴我如何給referral_email和電子郵件使用表單? – lock 2011-03-02 20:46:03

+0

沒有錯誤,但記錄沒有更新... :( – lock 2011-03-02 20:46:28

回答

1

將單引號放在電子郵件地址的周圍。

+0

也如何給每個使用表單的輸入?我的意思,而不是[email protected]和[email protected]我需要通過這些值使用形式 – lock 2011-03-02 20:55:26

2

試試這個:

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create 
    SET referral_email='[email protected]' WHERE email='[email protected]'", 
    MyConnection); 

如果需要參數該查詢,你可以這樣做:

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create 
    SET referral_email=? WHERE email=?", MyConnection); 

cmd.Parameters.Add("@referral_email", OdbcType.VarChar).Value = "[email protected]"; 
cmd.Parameters.Add("@email", OdbcType.VarChar).Value = "[email protected]"; 
+0

也如何給每個使用表單的輸入?我的意思,而不是[email protected]和[email protected]我需要使用表單傳遞這些值 – lock 2011-03-02 20:51:30

1

你的查詢有語法錯誤:

UPDATE awm_create SET [email protected] WHERE [email protected] 

沒有圍繞任一電子郵件地址引號。它應該是

UPDATE awm_create SET referral_email='[email protected]' WHERE email='[email protected]' 
            ^--    ^--   ^--    ^-- 
+0

也如何給每個使用表單的輸入?我的意思,而不是[email protected]和[email protected]我需要使用表單傳遞這些值 – lock 2011-03-02 20:54:02

1

我當遇到這種類型的錯誤的訣竅是SQL查詢從代碼複製並使用該數據庫的用戶界面直接執行其對數據庫。這樣我就可以確定錯誤在哪裏。是的,你錯過了字符串分隔符,並且MYSQL的查詢接口會告訴你,雖然IDE接口只知道有錯誤。
如果這一步工作,然後上鍊,找出什麼不能。