Всем доброго утра. Есть подключение к базе Firebird и считывание данных, потом обход циклом. Подскажите как можно узнать количество строк в таблице которая от Firebird пришла???
СтрокаПодключения = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=sms89006:c:\SSA\SKD\codos_db\CODOS.GDB";//Рабочая
Connection = Новый COMObject("ADODB.Connection");
Connection.Open(СтрокаПодключения);
Command = Новый COMObject("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandText = "ТЕКСТ ЗАПРОСА ЛЯЛЯЛЯ";
Command.CommandType = 1;
RecordSet = Новый COMObject("ADODB.RecordSet");
RecordSet = Command.Execute();
// Перебор данных
Если не RecordSet.EOF() = 1 тогда
RecordSet.MoveFirst();
Пока RecordSet.EOF() = 0 Цикл
Намудрили
Надо чтобы курсор был статический
и тогда RecordCount будет возвращать количество записей
Connection = Новый COMОбъект ("ADODB.Connection");
Connection.CursorLocation= 3;
(4) Всё зависит от режима запроса, если запрос исполняется на сервере и в режиме Forward Only, то ни количества строк ни возврата назад (как в (7)) не получится.
P.S. а вообще-то, количество элементов получают через SELECT COUNT(*), но FireBird устроен так, что количество в процессе работы может поменяться (сторонняя транзакция завершилась и в выборку добавляется строка).
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший