Главная страница
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.028 c
6-1142512145
Новочеркасский Волк
2006-03-16 15:29
2006.07.30
Виновата ли ADSL или в чём ошибка???


15-1149581607
serko
2006-06-06 12:13
2006.07.30
Internet Explorer и Opera


1-1150532479
kaif
2006-06-17 12:21
2006.07.30
Перекомпиляция родных run-time пакетов (*.bpl) Delphi


15-1151905271
Ega23
2006-07-03 09:41
2006.07.30
С Днём рождения! 3 июля


2-1152030285
KLAUS
2006-07-04 20:24
2006.07.30
IDSmtp