Одиночная кавычка в имени таблицы в запросе c # - PullRequest
2 голосов
/ 19 мая 2011

Я пытаюсь выполнить запрос к таблице dbase IV из C #. Я не настолько опытен в C #, и я пришел к выводу, что мой оператор выбора не выполняется, потому что таблица, которую я пытаюсь запросить, содержит одну кавычку.

Я использую соединение ODBC для соединения с таблицей, и эта часть работает нормально. Я запускаю запрос к той же таблице, если переименую его и удалю цитату.

Я попытался экранировать его с помощью обратной косой черты, используя 2 одинарные кавычки, и параметризовал запрос только для того, чтобы выяснить, что это не работает с именами таблиц.

Текст команды такой же, и в этом корень проблемы ...

cmd.CommandText = "SELECT * FROM E4X'MAIN";

Пожалуйста, помогите Я полностью застрял и потратил несколько дней на поиски решений, которые нужно только время от времени мешать ...

Ответы [ 3 ]

2 голосов
/ 19 мая 2011

Возможно:

cmd.CommandText = "SELECT * FROM [E4X'MAIN]";

Edit:

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

1 голос
/ 19 мая 2011

Это SQl SERVER? Oracle?

Пробовал

cmd.CommandText = @"SELECT * FROM E4X'MAIN";
cmd.CommandText = @"SELECT * FROM [E4X'MAIN]";

0 голосов
/ 01 июня 2011

К вашему сведению, я нашел решение своей проблемы. Если я структурирую свой запрос так, Shazam, она работает !!

cmd.CommandText = "SELECT * FROM \`E4X'MAIN.DBF\`;

Спасибо за всю вашу помощь, надеюсь, этот ответ поможет другим, застрявшим в ужасных соглашениях об именах

Reno

...