Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
1

Ошибка в запросе "Command contains unrecognized phrase/keyword"

29.03.2012, 12:40. Просмотров 3337. Ответов 9
Метки нет (Все метки)

Вот подключение
C#
1
2
3
4
5
string pth = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
            OleDbConnection conn = new OleDbConnection(
                 String.Format("Provider=VFPOLEDB.1;Data Source='{0}';Mode=Share Deny None;Collating Sequence=RUSSIAN", pth)
                 );
            conn.Open();
сам код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 // 1. выдернуть номер отделения и префикс из таблицы с шапкой
                string sql = string.Format("SELECT prefix,nom_fil from {0}", tableTop);
                cmd.CommandText = sql;
 
                OleDbDataReader rdr = cmd.ExecuteReader();
                rdr.Read();
                string nom_fil = rdr.GetString(1);
                string prefix = rdr.GetString(0);
                rdr.Close();
 
                // 2. формируем имя выходной таблицы
                string nFil = nom_fil.Substring(nom_fil.LastIndexOf("№")+1).Trim();
                string tableFinal = prefix.Trim() + nFil + Nomer_plategki.Text.Trim();
 
                // 3. формируем выходной файл
                StringBuilder sb_30spaces = new StringBuilder();
                sb_30spaces.Append(' ', 30);
                string _30spaces = sb_30spaces.ToString();
                // шапка
                sql = string.Format("select nom_fil as A,'{0}' as B,'{0}' as C,'{0}' as D, '{0}' as E, '{0}' as F, '{0}' as G into table {1} from {2}", _30spaces, tableFinal, tableTop);
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
но кидает ошибку при компилирование и не могу понять что не так
"Дополнительные сведения: Command contains unrecognized phrase/keyword."или"Дополнительные сведения: Command содержит непризнанные фраза / ключевое слово." Помогите плиз что не так
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2012, 12:40
Ответы с готовыми решениями:

Ошибка "Keyword not supported. Имя параметра: integrated security"
Всем привет, столкнулся с проблемой такого типа . Возникла она при добавление данных в БД....

Подключение к БД. Ошибка "Keyword not supported: 'port'"
Подскажите пожалуйста, что не так!!! от код public DataSet GetUserTable() { string constr...

Ошибка в запросе: ">" не распознан в списке аргументов функции
"Ошибка в списке аргументов функции: ">" не распознан." Как это исправить? SELECT FIO,...

Ошибка при Linq запросе "Specified cast is not valid"
подскажите где ошибка.... есть таблица..с помощью Linq to Sql делаю запрос: var query = from t in...

Конвертирование данных в запросе: Ошибка в списке аргументов функции: "using" не распознан
Здравствуйте. Столкнулся с проблемой при вытягивании + расшифровке данных из БД в одном запросе....

9
project.web
12 / 12 / 2
Регистрация: 28.03.2012
Сообщений: 49
29.03.2012, 13:43 2
попробуй вместо executenonquery
executereader()
1
_katon_
385 / 241 / 20
Регистрация: 03.10.2011
Сообщений: 1,003
29.03.2012, 13:47 3
Подозреваю, что дело в строке подключения. Так как для атрибута DataSource должен быть указан конечный файла (если конечно предположить что БД хранится в отдельном файле к которому вы подключаетесь).
Кроме этого, при попытки компиляции, в Error List должно быть точное указание на строку, которую не смог "разобрать" компилятор. У вас скорее всего ошибка валится на открытии подключения поскольку не выдержан формат строки подключения.

Добавлено через 3 минуты
Кроме этого получать текущий путь в котором сейчас находится программа нет необходимости. Это потому, что на момент выполнения программы, то место где находится исполняемый файл и считается текущим путем.
1
SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
29.03.2012, 14:06  [ТС] 4
Цитата Сообщение от _katon_ Посмотреть сообщение
Подозреваю, что дело в строке подключения. Так как для атрибута DataSource должен быть указан конечный файла (если конечно предположить что БД хранится в отдельном файле к которому вы подключаетесь).
Кроме этого, при попытки компиляции, в Error List должно быть точное указание на строку, которую не смог "разобрать" компилятор. У вас скорее всего ошибка валится на открытии подключения поскольку не выдержан формат строки подключения.

Добавлено через 3 минуты
Кроме этого получать текущий путь в котором сейчас находится программа нет необходимости. Это потому, что на момент выполнения программы, то место где находится исполняемый файл и считается текущим путем.
да к базе я подключяюсь отдельно
0
andrew_w2k
326 / 326 / 90
Регистрация: 04.03.2010
Сообщений: 648
29.03.2012, 14:08 5
Цитата Сообщение от SpiritAT Посмотреть сообщение
Command содержит непризнанные фраза
по-русски вроде бы написано, проверьте запрос, который формируете к бд
0
_katon_
385 / 241 / 20
Регистрация: 03.10.2011
Сообщений: 1,003
29.03.2012, 14:19 6
1. Строку подключения надо пересмотреть.
2. При компиляции определить строку траблы.

Добавлено через 9 минут
Цитата Сообщение от andrew_w2k Посмотреть сообщение
Цитата Сообщение от SpiritAT Посмотреть сообщение
Command содержит непризнанные фраза
Command - может подразумевать не только запрос.
Кроме этого
Цитата Сообщение от SpiritAT Посмотреть сообщение
но кидает ошибку при компилирование
т.е. если это действительно ошибка компиляции, а не выполнения, то до запроса дело дойти еще не должно.
Насколько я помню ошибки в запросе может быть обнаружен, только в момент выполнения (компилятору пофиг что там за запрос к БД).
0
serg42
118 / 100 / 7
Регистрация: 14.02.2010
Сообщений: 263
29.03.2012, 14:23 7
Цитата Сообщение от SpiritAT Посмотреть сообщение
sql = string.Format("select nom_fil as A,'{0}' as B,'{0}' as C,'{0}' as D, '{0}' as E, '{0}' as F, '{0}' as G into table {1} from {2}", _30spaces, tableFinal, tableTop);
О_о шо эта? зачем эта?
0
_katon_
385 / 241 / 20
Регистрация: 03.10.2011
Сообщений: 1,003
29.03.2012, 14:36 8
А не!! andrew_w2k, прав! "Command contains unrecognized phrase/keyword" - это к ошибке в запросе. Значит - это ошибка выполнения. Все равно я очень сомневаюсь, что соединение с файлом БД установлено!
Вот это:
C#
1
sql = string.Format("select nom_fil as A,'{0}' as B,'{0}' as C,'{0}' as D, '{0}' as E, '{0}' as F, '{0}' as G into table {1} from {2}", _30spaces, tableFinal, tableTop);
FOX?
Запрос действительно выглядит странно!
0
project.web
12 / 12 / 2
Регистрация: 28.03.2012
Сообщений: 49
29.03.2012, 14:36 9
Для справки.


C#
1
ExecuteNonQuery()
используется для запросов не возвращающих данных

C#
1
ExecuteScalar()
для выражений возвращающих одно значение

C#
1
ExecuteReader()
для выражений возвращающих таблицы
0
SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
29.03.2012, 14:43  [ТС] 10
Цитата Сообщение от serg42 Посмотреть сообщение
О_о шо эта? зачем эта?
это запрос который создает базу забирая поля с другой базы и да это FoxPro
0
29.03.2012, 14:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2012, 14:43

Ошибка "Conversion failed when converting from a character string to uniqueidentifier" в INSERT запросе
Выдаёт данную ошибку для тех кто разбирается System.Data.SqlClient.SqlException произошло ...

Ошибка при запросе в Oracle "ORA-01008: не все переменные привязаны"
Доброго времени суток! :) Помогите разобраться в чем суть ошибки: Делаю запрос вот так: ...

Появилась ошибка в запросе - Incorrect syntax near the keyword 'Table'
Объясните пожалуйста: выходит ошибка в этом месте, не знаю, почему sel.Fill(dt); -Incorrect syntax...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru