Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Обращение к данным в TDbf   Найти похожие ветки 

 
Micker2   (2006-05-24 18:42) [0]

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


 
Vlad ©   (2006-05-24 18:52) [1]


> Micker2   (24.05.06 18:42)  


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


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


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


> Vlad

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


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

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


 
Desdechado ©   (2006-05-24 19:04) [4]

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


 
Vlad ©   (2006-05-24 19:04) [5]


> 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:11) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
2-1152108759
K_Lock
2006-07-05 18:12
2006.07.30
Как обнулить счетчик в Access ?????????


1-1150780080
denmin
2006-06-20 09:08
2006.07.30
Не могу округлить значение поля в EXCEL.


4-1144770818
sally
2006-04-11 19:53
2006.07.30
Получить список файлов для NTFS раздела


2-1152527968
Milashka
2006-07-10 14:39
2006.07.30
Boolean-поля в InterBase


15-1151425083
Джо
2006-06-27 20:18
2006.07.30
Этот сайт в "облегченной" версии для моб. устройств