ODBC команда для обновления - PullRequest
0 голосов
/ 02 марта 2011

В чем заключается ошибка в приведенном ниже коде, и как мне передать 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();

Ответы [ 4 ]

2 голосов
/ 02 марта 2011

Попробуйте это:

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 голос
/ 02 марта 2011

Моя хитрость, когда сталкиваешься с этим типом ошибки, состоит в том, чтобы скопировать SQL-запрос из кода и выполнить его непосредственно к базе данных, используя пользовательский интерфейс базы данных. Таким образом, я гарантирую, где лежит ошибка. Да, вам не хватает разделителей строк, и интерфейс запроса к MYSql скажет вам, что хотя интерфейс IDE знает только, что произошла ошибка.
Если этот шаг работает, то поднимитесь по цепочке, чтобы выяснить, что не работает.

1 голос
/ 02 марта 2011

В вашем запросе есть синтаксические ошибки:

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'
                                     ^--                ^--           ^--             ^--
1 голос
/ 02 марта 2011

Поместите одинарные кавычки вокруг адресов электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...