![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Трабл с АДО [D7, MSSQL]
Эдвард Глюк © (2008-07-08 16:23:00)Обнаружился такой глюк.
В невизуальном приложении открываем ADODataSet.
После чего если not IsEmpty делаем некую выгрузку в цикле.
В чем глюк:
IsEmpty говорит, что там пусто, хотя там не должно быть пусто.
Текст запроса и параметры отлогированы и проверены в манаджмент студио.
Кроме того (самое странное!)
recordset.save('recordset.rec',0) делает непустой файл, в котором видны ожидаемые данные.
В чем косяк? Почему IsEmpty тру?
Palladin (2008-07-09 10:55:00) [1]:)
sniknik (2008-07-08 20:33:00) [2]ага, это часто так... сначала обещают чудо, а после оказывается что это факир пьян.
Эдвард Глюк (2008-07-08 18:13:00) [3]Хех. Дело дело не в бобине ....
Эдвард Глюк (2008-07-08 17:01:00) [4]В точки не попадаю.
ИзЕмпти есть и пишет в лог что емпти
Anatoly Podgoretsky (2008-07-08 16:49:00) [5]> Эдвард Глюк (08.07.2008 16:33:02) [2]
И что в точки не попадаешь?
Эдвард Глюк (2008-07-08 16:49:00) [6]В общем похоже на правду.
Такой же точно запрос по одной сущности работает без проблем (фильтрация по параметру)
этот же запрос вместо id = :param
использует id in (select ....)
Как отключить асинхронность?
Или как там зафетчить что-нибудь?
www (2008-07-08 16:43:00) [7]и где здесь isempty?
Эдвард Глюк (2008-07-08 16:33:00) [8]дык асинхронный фетч отключен (точнее не включен).
фактически там вот такой код:
with TAdoDataSet.Create(Self) do
try
Connection := ...
CommandText := ....
/* Параметры */
Open;
while not Eof do
begin
...
Next;
end;
finally
end;
www (2008-07-08 16:28:00) [9]для проверки isempty необходимо фетчнуть хоть одну запись
если же датасет серверный, то может до тебя не долетели еще записи