Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 19:22   #1
Stalevar
 
Регистрация: 17.02.2009
Сообщений: 6
Хорошо Проблема с RecordCount в SQLQuery

Доброе время суток уважаемые форумчане.
Возникла такая проблема:
В модуле данных(DM) находится SQLConnection и SQLQuery(StandartQuery) с палитры dbExpress. Ссылка ведет на сервер с ГОСТами.
Фрагмент кода:
Код:
with DM.StandartQuery do
begin
  Close;
  SQL.Clear;
  SQL.Add(SELECT *);
  SQL.Add(FROM ГОСТ_такой-то);
  SQL.Add(WHERE условие); 
  Open;
end; 

if DM.StandartQuery.RecordCount<>0 then
  запись данных запроса в переменные
Все работает нормально, кроме RecordCount. Он выводит не количество записей по условию запроса, количество всех записей в таблице. . Данная схема работала когда-то в BDE и ошибка появилась только при переходе на dbExpress.
Использую Delphi 2007 и драйвера от Devart-a. Как решить данную проблему?
Stalevar вне форума Ответить с цитированием
Старый 22.04.2009, 20:19   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

делайте лучше так
Код:
while not(DM.StandartQuery.EOF) do begin
//запись данных запроса в переменные
....

DM.StandartQuery.Next;
end;
soleil@mmc вне форума Ответить с цитированием
Старый 23.04.2009, 18:57   #3
Stalevar
 
Регистрация: 17.02.2009
Сообщений: 6
По умолчанию

Все оказалось гораздо проще. Пробежавшись по всем свойствам нашел isEmpty. И все заработало!
Stalevar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37