Выборка данных из FireBird посредством Delphi

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
tots
Сообщения: 2
Зарегистрирован: 20 сен 2011, 00:00

Выборка данных из FireBird посредством Delphi

Сообщение tots » 20 сен 2011, 00:15

Здравствуйте.

Использую Delphi XE. Компоненты IBDataSet, IBTransaction и IBQuery. Создал базу *.fdb, создал в ней таблицу, а в таблице поля. Из своей программы к базе подключаюсь нормально. Но вот только в общих запросах у меня результат всегда одна строка. RecordCount всегда равен 1. И данные я могу считать тоже только из этой одной строки. Пожалуйста, подскажите, что я делаю не так?

Код подключения:

Код: Выделить всё

with form1.IBDatabase1 do
    begin
      LoginPrompt := false;
      DataBaseName := '127.0.0.1:d:\путь_к_файлу_*.fdb';
      Params.Clear;
      Params.Add('USER_NAME=SYSDBA');
      Params.Add('PASSWORD=masterkey');
      Params.Add('LC_CTYPE=WIN1251');
    end;
  form1.IBDatabase1.Connected := true;
Код запроса:

Код: Выделить всё

  form1.IBDataSet1.Close;
  form1.IBDataSet1.SelectSQL.Text := 'SELECT * FROM SERVICE;';
  form1.IBDataSet1.Open;
  form1.Button1.Caption := inttostr(form1.IBDataSet1.RecordCount);

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Выборка данных из FireBird посредством Delphi

Сообщение hvlad » 20 сен 2011, 10:47

RecordCount возвращает кол-во сфетченных на клиента записей. Нет фетчей (кроме неявного в Open) - нет записей на клиенте.

tots
Сообщения: 2
Зарегистрирован: 20 сен 2011, 00:00

Re: Выборка данных из FireBird посредством Delphi

Сообщение tots » 20 сен 2011, 22:50

Спасибо большое. Честно сказать, про то, что такое Fetch вообще не знал. Буду читать.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Выборка данных из FireBird посредством Delphi

Сообщение kdv » 21 сен 2011, 18:01

про это читать тут
http://www.ibase.ru/devinfo/client.htm

Ответить