«Неизвестный столбец в« списке полей »» Есть идеи, почему я это получил? - PullRequest
0 голосов
/ 19 июня 2011

Есть идеи, почему я получаю это исключение?

Моя таблица создания выглядит следующим образом:

string.Format("CREATE TABLE IF NOT EXISTS `{0}`  ( `id` int(11) NOT NULL auto_increment,  `CAMXTime`  DATETIME  ,`Message` LONGTEXT , PRIMARY KEY  (`id`));", GlobalVariables.CamxmassagesTable);

И оператор вставки выглядит как

string.Format("INSERT INTO `{0}` (`CAMXTime` , `Message`) VALUES (`{1}`,`{2}`);", GlobalVariables.CamxmassagesTable, newNode.Item1, newNode.Item2);

newNode.Item1 относится к типу DATETIME.newNode.Item2 i sa string.

Есть идеи?

1 Ответ

3 голосов
/ 19 июня 2011

Вы должны использовать одинарные кавычки в своих значениях (и, конечно же, избегать их в первую очередь). Таким образом, оператор INSERT должен быть:

string.Format(
    "INSERT INTO `{0}` (`CAMXTime` , `Message`) VALUES (<b>'{1}','{2}'</b>);", // ` to '
    GlobalVariables.CamxmassagesTable,
    newNode.Item1<b>.Replace("'", "''")</b>,
    newNode.Item2<b>.Replace("'", "''")</b>
);

Не то, чтобы вы использовали этот способ для выполнения SQL-запросов или для экранирования значений, но это немного лучше.

Редактировать : использовать параметризованные запросы.

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