C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Гглупый вопрос
telepath
Отправлено: 19.10.2004, 15:11


Станционный диспетчер

Группа: Участник
Сообщений: 132



есть таблица в firebird, в ней два поля: Idx (int) и Sum (int)
так же есть структура с такими же вещами типа
CODE

struct sA
{
   int Idx;
   int Sum;
}


С помощью каких компонентов FIBPlus и каким образом мне забить в эту структуру данные из любой записи этой таблицы через запрос SQL?
olegenty
Отправлено: 20.10.2004, 09:37


Ветеран

Группа: Модератор
Сообщений: 2412



вариантов — как грязи, смотря что тебе надо.

если пишешь классовую оболочку над объектами БД, а судя по сути твоих вопроов, ты пока её нифига не способен написать, делай TList , и заполняй в цикле, а потом работай уже с TList. проблемы с поиском в листе (по уникальному ключу) решаются методом бисекции элементарно.

если же тебе в каждый момент времени нужна только текущая запись, то
1. тебе не нужна структура, пользуйся перманентным полем
2. но если ты всё же решил пользоваться структурой, то заполняй её в событии AfterScroll, вот и всё.
telepath
Отправлено: 20.10.2004, 11:01


Станционный диспетчер

Группа: Участник
Сообщений: 132



Я имею ввиду другое.
По порядку:
1. Правильно ли я делаю запрос к таблице?
CODE

fN2->Close();
fN2->SelectSQL->Clear();
fN2->SelectSQL->Add("Select * from tN2 where N1=" + Id);
fN2->Open();

где, fN2 — это FibPLus'овский датасет, tN2 имя таблицы, N1 поле в ней

2. Если это правильно, то почему у меня fN2->VisibleRecordCount() = 1, когда записей с Id всего три

3. могу ли я пробежаться по выборке записей методами First(), Next() итд?

Отредактировано telepath — 20/10/2004, 12:05
** pasha
Отправлено: 20.10.2004, 12:13


Не зарегистрирован







2 Проверьте и выставите свойства Options->VisibleRecNo = true
возможно также понадобиться выставить
PrepareOptions->psAskRecordCount = true

3 да, конечно можете
telepath
Отправлено: 20.10.2004, 15:43


Станционный диспетчер

Группа: Участник
Сообщений: 132



Огромное спасибо, **pasha, помогло

Вернуться в Работа с базами данных в C++Builder