powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPlus 4.8.1 и мои кривые руки...
9 сообщений из 9, страница 1 из 1
FIBPlus 4.8.1 и мои кривые руки...
    #32485715
CrazyPitbull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с базой данных на FireBird 1.5. Базу сделал при помощи IBExperta, и при его помощи заполнил поля, так для теста...
Далее поставил компанент FIBPlus 4.8.1 в Билдере 6,0 и решил поиграться с ним...
Так как раньше его не использховал, то решил пользоваться исключительно методом научного тыка и пристального взгляда, однако сперва посмотрел примеры... Вроде ничего сложного, к базе законектился, нашёл нужную таблицу и обратился к одному из полей, читаю данные(в столбце их штук 5-6) а мне в компоненте пишет, что только 1... Привожу пример кода:

Variant d;
TField* data = NULL;
bool fl = false;
//Соединяемся с базой
pFIBDatabase1->Open();
pFIBTransaction1->StartTransaction();
FIBDsMain->Open();
//Соединяемся с полем и получаем данные
data = FIBDsMain->FindField("CLIENT_NAME");
fl = FIBDsMain->FindNext();
for(int i = 0;i < FIBDsMain->RecordCount;i++)
d = FIBDsMain->RecordFieldValue(data,i);

Т.е. FIBDsMain->RecordCount = 1, а данные из этого первого поля читаються верные, сразу появился вопрос, почему так, что я сделал неправильно???
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32485759
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrazyPitbullfor(int i = 0;i < FIBDsMain->RecordCount;i++)
Нет такой ерунды в примерах. Как надо делать см. на форуме или в любой книге по Delphi (C Builder) где описана работа с БД.
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32485782
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RecodCount - подленькая штука, обычно при ее использовании наступаешь на грабли в любом случае (особенно в твоей конструкции),лучше использовать while not DS.Eof do (предварительно почитав доку)
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32485938
CrazyPitbull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую, хотядоку-то мне не найти, мож что подкините или ссылку кинете???
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32485940
CrazyPitbull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и воте ещё, дело то совсем не в этом, если даже задать
d = FIBDsMain->RecordFieldValue(data,2);
то окажеться что это поле пусто... хотя оно содержит записи!!!!
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32486117
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто не все записи (или вообще ни одна) не получены клиентским приложением...
Принудительно - FetchAll
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32486594
x.diablo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше всего делать так:
Код: plaintext
1.
2.
3.
for(FIBDsMain->First();!FIBDsMain->Eof;FIBDsMain->Next())
{
  AnsiString d = FIBDsMain->FieldByName( "CLIENT_NAME" )->AsString
}
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32487080
CrazyPitbull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗАРАБОТАЛО!!!!!!!
...
Рейтинг: 0 / 0
FIBPlus 4.8.1 и мои кривые руки...
    #32487146
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И всетаки классикой является
Код: plaintext
1.
2.
3.
4.
5.
while not DS.EOF do 
begin 
    ......;
    DS.Next();
end;

ИМХО
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPlus 4.8.1 и мои кривые руки...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]