要更新的ODBC命令

时间:2011-03-02 20:43:57

标签: mysql sql odbc

以下代码中的错误是什么,以及如何使用表单传递karthik@domain.comkars@domain.com

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 referral_email=karthik@domain.com WHERE email=kars@domain.com" , MyConnection);

MyConnection.Open();

cmd.ExecuteNonQuery();

4 个答案:

答案 0 :(得分:2)

试试这个:

OdbcCommand cmd = new OdbcCommand("UPDATE awm_create 
   SET referral_email='karthik@domain.com' WHERE email='kars@domain.com'",
   MyConnection);

如果您需要参数化该查询,可以执行以下操作:

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

cmd.Parameters.Add("@referral_email", OdbcType.VarChar).Value = "karthik@domain.com";
cmd.Parameters.Add("@email", OdbcType.VarChar).Value = "kars@domain.com";

答案 1 :(得分:1)

在电子邮件地址周围放置单引号。

答案 2 :(得分:1)

您的查询有语法错误:

UPDATE awm_create SET referral_email=karthik@domain.com WHERE email=kars@domain.com

这两个电子邮件地址都没有引号。它应该是

UPDATE awm_create SET referral_email='karthik@domain.com' WHERE email='kars@domain.com'
                                     ^--                ^--           ^--             ^--

答案 3 :(得分:1)

遇到此类错误时,我的诀窍是从代码中复制SQL查询,并使用数据库用户界面直接对数据库执行。这样我就可以确定错误所在。是的,你错过了字符串分隔符和MYSql的查询接口会告诉你,虽然IDE接口只知道有错误。
如果该步骤有效,那么就去链条找出什么没有。