Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Ошибка вида: MyQuery: Field 'имя_поля' not found. |
Автор: malor 7.6.2007, 15:06 | ||
Делаю вставку в таблицу:
PayQuery: Field 'pay_id' not found. Как видите это поле в запросе вообще не упомянуто! Чего тогда проге не нравится? Тем не менее, если проверить содержимое таблицы,то выяснится, что вставка строки происходит! При создании таблицы данное поле объявлялось так: `pay_id` int(10) unsigned NOT NULL auto_increment Раньше, вместо строки PayQuery.ExecSQL; я использовал PayQuery.Active := True;. Одну запись внести я успел, а затем стала выскакивать ошибка: Can not open a Resultset. На http://www.delphipages.com/threads/thread.cfm?ID=151324&G=151230 написано - использовать ExecSQL. Что делать с ошибками ? У челов в постах http://forum.vingrad.ru/topic-106352.html http://forum.vingrad.ru/forum/topic-125266.html в какой-то степени похожие проблемы. MySQL 5.0.37, ZeosDBO-6.6.1_beta (2007-02-25), Delphi 7, WinXP_sp2 |
Автор: Rodman 7.6.2007, 20:50 | ||
|
Автор: malor 7.6.2007, 22:05 |
C ошибкой про "PayQuery: Field 'pay_id' not found" разобрался, это дальше по коду располагалось неадекватное обращение к записям таблицы. Но тем не менее, Rodman, что за параметры вы имели ввиду? Вопрос про 'Can not open a Resultset.' остается в силе... |
Автор: zews2006 8.6.2007, 07:33 |
SQL_PAY= 'INSERT INTO pay (pay_dt,pay_service,pay_account,pay_ammount,pay_comission,pay_state) VALUES (:p1,:p2,:p3,:p4,:p5,:p6)'; PayQuery.SQL.Text:=SQL_PAY; PayQuery.Parameters.ParamByName('p1').Value:=<значение для pay_dt>; PayQuery.Parameters.ParamByName('p2').Value:=<значение для pay_service>; PayQuery.Parameters.ParamByName('p3').Value:=<значение для pay_account>; PayQuery.Parameters.ParamByName('p4').Value:=<значение для pay_ammount>; PayQuery.Parameters.ParamByName('p5').Value:=<значение для pay_comission>; PayQuery.Parameters.ParamByName('p6').Value:=<значение для pay_state>; PayQuery.ExecSQL; |
Автор: Savek 8.6.2007, 08:04 |
Вероятно запрос не возвращает данные (Insert, update,Delete ...) а ты пытаешься отправить его командой Open |