Вниз
Скачать: 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.028 c
2-1152258635
Homo Sapiens
2006-07-07 11:50
2006.07.30
И снова плейлист


1-1150469495
Бормодед
2006-06-16 18:51
2006.07.30
Screen.PixelsPerInch


1-1150315952
AlexeyT
2006-06-15 00:12
2006.07.30
Как определить доступность WMP ActiveX?


1-1150819268
Beduir
2006-06-20 20:01
2006.07.30
Comobox очищается в режиме DropDownList


15-1151502757
Cerberus
2006-06-28 17:52
2006.07.30
Прогноз профессий.




   Наверх