以下代码中的错误是什么,以及如何使用表单传递karthik@domain.com
和kars@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();
答案 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接口只知道有错误。
如果该步骤有效,那么就去链条找出什么没有。