Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ошибка odbc

8.8K
25 октября 2005 года
IreneSPb
16 / / 14.05.2005
Подскажите пожалуйста чайнице,в чем причина ошибки,когда я для построения отчета Quickreports пишу:
ADOQuery1->SQL->Add("SELECT * FROM GRUNTS WHERE GRUNTS.REGION = 9 AND GRUNTS.GENESIS = " + Edit8->Text )
Ошибка возникает когда я передаю именно текстовую колонку(genesis)! Когда числовую(только region) - все нормально!
Ошибка такая:Microsoft ODBC dbf driver: слишком мало параметров.Требуется 1.В файле dbf действительно текстовая колонка!
488
25 октября 2005 года
Mоngооsе
465 / / 01.04.2005
Скорей всего нужно поставить текстовое поле в кавычки.

ADOQuery1->SQL->Add("SELECT * FROM GRUNTS WHERE GRUNTS.REGION = 9 AND GRUNTS.GENESIS = '" + QuoredStr(Trim(Edit8->Text)) + "'" )
8.8K
25 октября 2005 года
IreneSPb
16 / / 14.05.2005
Цитата:
Originally posted by Mоngооsе
Скорей всего нужно поставить текстовое поле в кавычки.

ADOQuery1->SQL->Add("SELECT * FROM GRUNTS WHERE GRUNTS.REGION = 9 AND GRUNTS.GENESIS = '" + QuoredStr(Trim(Edit8->Text)) + "'" )




Поставила.Если в Edit8 пусто - все нормально,выдает пустую выборку. если ставлю значение в поле- то ошибка :
"Ошибка синтаксиса(пропущен оператор)в выражении запроса 'GRUNTS.REGION = 9 AND GRUNTS.GENESIS = "G"".

259
25 октября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by IreneSPb
Поставила.Если в Edit8 пусто - все нормально,выдает пустую выборку. если ставлю значение в поле- то ошибка :
"Ошибка синтаксиса(пропущен оператор)в выражении запроса 'GRUNTS.REGION = 9 AND GRUNTS.GENESIS = "G"".


Девушка, не парьтесь и сделайте вот так:

 
Код:
ADOQuery1->SQL->Add("SELECT * FROM GRUNTS WHERE GRUNTS.REGION = :p_Region AND GRUNTS.GENESIS = :p_Genesis");
ADOQuery1->ParamByName("p_Region")->AsInteger = 9;
ADOQuery1->ParamByName("p_Genesis")->AsString =Edit8->Text;
488
25 октября 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by IreneSPb
Поставила.Если в Edit8 пусто - все нормально,выдает пустую выборку. если ставлю значение в поле- то ошибка :
"Ошибка синтаксиса(пропущен оператор)в выражении запроса 'GRUNTS.REGION = 9 AND GRUNTS.GENESIS = "G"".

Если Вы скопировали SQL выражение 1 к одному, тогда действительно ошибка. В конце 2 кавычки. Я имел в виду

ADOQuery1->SQL->Add("SELECT * FROM GRUNTS WHERE GRUNTS.REGION = 9 AND GRUNTS.GENESIS = [color=red]'[/color]" + QuotedStr(Trim(Edit8->Text)) + "[color=red]'[/color]" )

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог