![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите решить траблы с Query... [D5, D6, MySQL]
Dimedrol © (2002-04-09 12:22:00)Коллеги, я напоролся на совершенно тупой трабл...
Коннекчусь к MySQL базе через компоненты ZeosAccess.
И там есть аналог TQuery.
Вроде везде хорошо работает,
но вот вдруг всплыло:
Такая проблема -
в DesignTime - все работает !!!
делаю select - вижу в гриде его результат...
А вот в RunTime мне нужно просто прогуляться по
MyDataModule.MyQuery.Fields[XXX].AsYYYYY
и не могу !!! Блин !
Сразу положение, что MyDataModule.MyQuery.EOF!!!
Делаю трассировку, ставлю т. останова где формируется текст запроса
беру его в сторонний MySQL клиент - все хорошо - есть резалты !
А так - нет... 8-(
А в DesignTime - нормально...
Помогите плиз... горит !
rvs (2002-04-10 16:16:00) [1]Да, блин...,
dm.qrTmp1.Fields[4].AsInteger; не сработает....
--> dm.qrTmp1.FieldByName("--//--").AsInteger
Dimedrol (2002-04-10 15:34:00) [2]2 Johnmen
МОжет и базу скинуть ? ;-)
Да ладно, я думаю что это глючит ZEOS.
Тот же самый квери БЕЗ каких-либо изменений,
только обращаюсь к этой же MySQL-ной базе через
ODBC-драйвер - все работает.
Johnmen (2002-04-09 18:39:00) [3]Так ты проверил или нет roottim (09.04.02 16:01) ?
Каков реальный текст запроса dm.qrTmp1.Sql.Text ?
Если да, то приведи его,
если нет - обсуждение беспредметно...
Dimedrol (2002-04-09 18:10:00) [4]2 roottim
Дык, мне набор данных и не нужен -
результат запроса он и есть !
А сам текст запроса - 1 и тот же, я же грю - я его копирую
(взял в точке останова !)
roottim (2002-04-09 16:01:00) [5]хм! тут дело в том, что собственно нет возвращаемого НД по твоему запросу...
осмотри соотв ли твои запрос в ран и диз
dm.qrTmp1.Close;
dm.qrTmp1.Sql.Text:=strSQL;
showmessage(dm.qrTmp1.Sql.Text);
dm.qrTmp1.Open;
Dimedrol (2002-04-09 15:48:00) [6]2 Johnmen
Не.. с ним все в порядке !
Я же писал, что я КОПИРУЮ собранный sql-запрос (strSQL) в другой клиент (Mascon)
и ТАМ все нормально отрабатывает !
Johnmen (2002-04-09 14:15:00) [7]Что есть NumberID ?
По-моему, просто он действительно пуст...
Dimedrol (2002-04-09 14:06:00) [8]Дааа....
ну вот в принципе я так и действовал...
MyDataModule.MyQuery.First - делал - ничего...
strSQL := "SELECT a.id,a.h......... r.id=ar.rubric AND issueID=" + NumberID + " " +
"ORDER BY BINARY r.name,ar.sort";
dm.qrTmp1.Close;
dm.qrTmp1.Sql.Text:=strSQL;
dm.qrTmp1.Open;
dm.qrTmp1.First;
// showmessage(dm.qrTmp0.Fields[1].AsString);
// Тут показывает пустую строку если что....
while not dm.qrTmp1.Eof do
Сюда уже не попадаю.... - нэту ничего...
begin
r := dm.qrTmp1.Fields[4].AsInteger;
Johnmen (2002-04-09 13:49:00) [9]Ну а если после MyDataModule.MyQuery.Open сразу делать MyDataModule.MyQuery.First ? Что тогда ?
Nikolay M. (2002-04-09 13:48:00) [10]хм...
никогда такого не было :(
единственный глюк у меня с этой библиотекой случился, когда добавлялись статические Calculated-поля. Попробуй обращаться к полям .FieldByName (XXX).AsYYY - мож. спасет, да и выглядит покрасивше?
А MyQuery - открыта? Может, где-то есть MyDataModule.MyQuery.Last? Что говорит MyDataModule.MyQuery.Bof?