Проблема с подключением ODBC.Net к БД MySQL - PullRequest
0 голосов
/ 02 октября 2010

Я думаю, что проблема здесь в моем синтаксисе SQL, но я не уверен, и мне нужна свежая пара глаз, чтобы проверить это. Это код, который я использую для подключения и вставки в БД:

OdbcConnection datConn = CreateDataConn();

datConn.Open();
OdbcCommand comm = new OdbcCommand();
comm.CommandText = "INSERT INTO userdata (key, secretkey, uid) VALUES ('" + token + "', '" + secret + "', '" + twitterid + "');";

comm.Connection = datConn;
comm.ExecuteNonQuery();
datConn.Close();

А вот и метод CreatDataConn ():

private OdbcConnection CreateDataConn()
{
    OdbcConnection dbConn = new OdbcConnection();
    dbConn.ConnectionString = "Dsn=MySQL;database=twittertest;option=0;port=0;server=localhost;uid=root;pass=Red!4jedi";
    return dbConn;
}

Я создал DSN для базы данных, которая размещена на моем компьютере.

Когда я запускаю приложение, я получаю эту ошибку:

ОШИБКА [42000] [MySQL] [Драйвер ODBC 3.51] [mysqld-5.1.51-community] У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ключом, секретным ключом, идентификатором uid (ЗНАЧЕНИЯ)

Но что касается меня, я не могу понять, что не так с моим синтаксисом ... Это просто нечто простое, но опять же, мне нужна пара свежих глаз, чтобы взглянуть на это.

1 Ответ

0 голосов
/ 02 октября 2010

key, вероятно, зарезервированное слово. в MySQL вы можете обойти это, добавив backticks (`) вокруг имени столбца (так что` `ключ` 'вместо' key '), но вы должны стараться не зарезервировать слова в качестве имен сущностей.

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