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

Вниз

Извлечение данных посредством ADODataSet   Найти похожие ветки 

 
Barcebel   (2004-08-11 15:51) [0]

Возникла следующая проблема.
TADODataSet содержит свойства FieldCount и RecordCount, а также
свойство Fields. Используя сочетание FieldCount и Fields, я могу получить названия полей. Как мне получить данные, содержищиеся в этих полях, для каждой записи?


 
Соловьев ©   (2004-08-11 15:52) [1]

FieldByName(Fields[i]).Value


 
46_55_41_44 ©   (2004-08-11 15:58) [2]

1)
 TADODataset.FieldByBName(FieldName : String).AsString
                                             .AsInteger
                                             .asVariant
                                             .и т.д.
Пример:
 S := Query1.FieldByName("Name").AsString;
 I := Query1.FieldByName("Age").AsInteger;
в зависимости от типа поля...

2) TADODataset.Fields[i].Value
Пример:
 i := Query1.FieldByName("Age").AsVariant;
где i либо Variant либо Integer


 
Barcebel   (2004-08-11 16:16) [3]

Уточню свой вопрос.
Как, перемещаясь в цикле от начала до RecordCount, получить
значение текущей записи в текущем поле?
Есть ли методы на подобии
ADODataSet1.Records[i].GetValue


 
46_55_41_44 ©   (2004-08-11 16:22) [4]

1)
 repeat
   for i := 0 to ADODataSet.FieldCount - 1 do
   begin
     Variable := ADODataSet.Fields[i].Value;
     ...
   //Ну вобщем делай с этими данными, что хочешь!!!
   end;
   ADODataSet.Next;
 Until ADODataSet.Eof;
2)
 for i := 0 to ADODataSet.RecordCount - 1 do
 begin
   for j := 0 to ADODataSet.FieldCount - 1 do
   begin
     ...ADODataSet.Fields[i].Value;...
   //Ну вобщем делай с этими данными, что хочешь!!! :))
   end;
 end;


 
Соловьев ©   (2004-08-11 16:30) [5]


>  for i := 0 to ADODataSet.RecordCount - 1 do

Да уж...Читайте книги. или хелп хоть чуть-чуть
The dataset component must be active for RecordCount to provide a valid number. Should ADO not be able to determine that actual number of rows, RecordCount will return a value of negative one (-1).

Нужно ждругое свойство юзать

while not ADODataSet.Eof do begin
//тут чего-то делаем с полями
ADODataSet.Next;
end;


 
Barcebel   (2004-08-11 17:43) [6]

Вы абсолютно правы. Используя ADODataSet1.Next, получил нужный
результат. Кстати, пример нашел в хелпе.

P.S. А вообще я все не на Delphi, а на Builder делал.
VCL в сочетании с C++ и WinAPI - отличный инструмент.



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
11-1079997815
KisaNetik
2004-03-23 02:23
2004.09.05
Ошибка при работе с ListEdit


1-1093002157
MaXie
2004-08-20 15:42
2004.09.05
Из жизни потоков2


14-1092830567
Pul
2004-08-18 16:02
2004.09.05
Аукцион e-Bay


1-1092730717
ceval
2004-08-17 12:18
2004.09.05
как в Excel сделать заголовок столбца (по середине) и


1-1092743087
Jiuraasdasd
2004-08-17 15:44
2004.09.05
Как сделать проверку орфографии?