Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Повторное использование ZQuery 
:(
    Опции темы
djnv
Дата 25.10.2010, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



Zeos+Delphi 7+Mysql

Здравствуйте. Бьюсь третий день, подскажите в чем проблема:

Код

DBConn.ZQuery_osn.Edit;
DBConn.ZQueryService.SQL.Text:='SELECT @@IDENTITY as lastid'; //работает
DBConn.ZQueryService.Open;
DBConn.ZQuery_osn.FieldByName('id_repair').AsInteger:=DBConn.ZQueryService.FieldByName('lastid').AsInteger; 

....

procedure sendtoexcel (..); 
...
DBConn.ZQueryService.SQL.Text:=('SELECT name FROM region where id='+DBConn.ZQuery_osn.FieldByName('id_region').AsString);
DBConn.ZQueryService.Open; //вылетает нижеприведенная ошибка
ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[4, 3]:=DBConn.ZQueryService.FieldByName('name').AsString;
ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[19, 3]:=DBConn.ZQueryService.FieldByName('name').AsString;


текст ошибки: "ZqueryService: Field 'LASTID' not found"

Это сообщение отредактировал(а) djnv - 25.10.2010, 09:06
PM MAIL WWW ICQ Skype GTalk   Вверх
Данкинг
Дата 25.10.2010, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



А если поле NAME переименовать?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
djnv
Дата 25.10.2010, 10:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



Цитата(Данкинг @ 25.10.2010,  10:18)
А если поле NAME переименовать?

пробовал так:
Код

DBConn.ZQueryService.SQL.Text:=('SELECT name as techname FROM region where id='+DBConn.ZQuery_osn.FieldByName('id_region').AsString);
DBConn.ZQueryService.Open; //вылетает нижеприведенная ошибка
ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[4, 3]:=DBConn.ZQueryService.FieldByName('techname').AsString;
ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[19, 3]:=DBConn.ZQueryService.FieldByName('techname').AsString;

итог тот же.
PM MAIL WWW ICQ Skype GTalk   Вверх
Данкинг
Дата 25.10.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(djnv @  25.10.2010,  11:41 Найти цитируемый пост)
пробовал так:

Да вообще чтобы в таблицы не было поля с названием NAME. Начни с этого, а далее посмотрим...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Frees
Дата 25.10.2010, 11:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Код

DBConn.ZQueryService.Close;
DBConn.ZQueryService.SQL.Text:=('SELECT name as techname FROM region where id='+DBConn.ZQuery_osn.FieldByName('id_region').AsString);
DBConn.ZQueryService.Open;

??


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
pseud
Дата 25.10.2010, 12:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



Похоже, что ZQueryService при открытии создает поля, которые при следующем открытии все еще имеет.
Предположу, что перед следующим открытием необходимо сделать Close либо некий FieldsClear


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Данкинг
Дата 25.10.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



А, так разумеется: close и sql.clear обязательно!


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
djnv
Дата 26.10.2010, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


техноадепт



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.9.2003

Репутация: нет
Всего: нет



Код

DBConn.ZQueryService.SQL.Text:='SELECT @@IDENTITY as lastid';
DBConn.ZQueryService.Open;
DBConn.ZQuery_osn.FieldByName('id_repair').AsInteger:=DBConn.ZQueryService.FieldByName('lastid').AsInteger;
DBConn.ZQueryService.Close;
DBConn.ZQueryService.SQL.Clear;
DBConn.ZQueryService.SQL.Text:=('SELECT name FROM region where id='+DBConn.ZQuery_osn.FieldByName('id_region').AsString);
DBConn.ZQueryService.Open;

 даже так спотыкается на втором DBConn.ZQueryService.Open; с той же ошибкой. Я уже как только не пробовал, а в чем проблема не пойму.

перечитал коменты. Нашел: надо было сделать DBConn.ZQueryService.Fields.Clear;
спасибо pseud !  smile 

Это сообщение отредактировал(а) djnv - 26.10.2010, 07:41
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1363 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.