Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обращение к данным в TDbf [D7, dBase, FoxPro]


Micker2 ©   (2006-05-24 18:42:00) 

Может кто подскажет.
Раньше с базами данных в Delphi не работал, но потребовалось зумутить одну штуку.
Короче, я использую компоненты TDbf, TDataSource, TDBGrid, надо получить данные
из всех полей каждой записи таблицы для дальнейших манипуляций. У TDbf есть свойство
Fields с помощью которого можно обратиться к любому полю текущей записи, пользуясь этим
я попробовал вернуться к первой записи (Dbf1.First) и выцыплять данные с помощью с-ва Fields,
переходя к следующей записи (Dbf1.Next). Способ корявый. Да ещё и курсор передвигается в
TDBGrid при выполнении переходов между записями в TDbf. Вобщем нужен совет как мне получить
все данные из таблицы.


Micker2   (2006-05-24 19:11:00) [1]

Народ, спасибо за помошь.


Desdechado   (2006-05-24 19:04:00) [2]

к конкретной записи - по ключу
сколько записей - RecordCount
перебор - от First до not EOF
остальное - для несталкивавшихся с БД - в букварях по Дельфи есть


Vlad   (2006-05-24 19:04:00) [3]


> Micker2   (24.05.06 18:58) [2]


> А как определить кол-во записей, чтобы знать скока .Next
> вызывать


А тебе не надо знать кол-во записей. (по моему это св-во RecordCount)

Dbf1.First;
while not Dbf1.Eof() do
begin
 ...//тут считываешь данные
 Dbf1.Next;
end;



> Аднака ни очинь хароший способ :) Мутный такой... Или с
> БД всегда так? :)
> <Цитата>

Да, это стандартный способ работы. Не понимаю, в чем мутность.

Можно вместо Fields использовать FieldByName(), но я так понял, тебе оно не очень надо...


Micker2   (2006-05-24 19:00:00) [4]

Или как, например, обратиться к какой-либо конкретной записи?


Micker2   (2006-05-24 18:58:00) [5]


> Vlad

А как определить кол-во записей, чтобы знать скока .Next вызывать.
Аднака ни очинь хароший способ :) Мутный такой... Или с БД всегда так? :)


Vlad   (2006-05-24 18:52:00) [6]


> Micker2   (24.05.06 18:42)  


> Способ корявый.


Чем корявый-то? А по-другому никак...
Чтобы курсор не прыгал, попробуй Dbf.DisableControls, а в конце соотв. EnableControls. Или отцепи DataSource на время скроллинга.


Наверх

Титульная страница Поиск, карта сайта Написать письмо