Страница 1 из 1

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

Добавлено: 20 сен 2011, 00:15
tots
Здравствуйте.

Использую 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);

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

Добавлено: 20 сен 2011, 10:47
hvlad
RecordCount возвращает кол-во сфетченных на клиента записей. Нет фетчей (кроме неявного в Open) - нет записей на клиенте.

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

Добавлено: 20 сен 2011, 22:50
tots
Спасибо большое. Честно сказать, про то, что такое Fetch вообще не знал. Буду читать.

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

Добавлено: 21 сен 2011, 18:01
kdv
про это читать тут
http://www.ibase.ru/devinfo/client.htm