Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.035 c
2-1152260349
Afonya
2006-07-07 12:19
2006.07.30
Найти и заменить


2-1152535608
Серге И
2006-07-10 16:46
2006.07.30
TSimpleDataSet


2-1152523569
Delphi basic
2006-07-10 13:26
2006.07.30
Не отображаются вновь созданные поля


2-1152711054
dera
2006-07-12 17:30
2006.07.30
Как уменьшить шаг между точками на форме?


2-1152445039
mctarik
2006-07-09 15:37
2006.07.30
Как в TEdit сделать ввод данных с проверкой по маске...




   Наверх