![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Извлечение данных посредством ADODataSet [D6, Access]
Barcebel © (2004-08-11 15:51:00)Возникла следующая проблема.
TADODataSet содержит свойства FieldCount и RecordCount, а также
свойство Fields. Используя сочетание FieldCount и Fields, я могу получить названия полей. Как мне получить данные, содержищиеся в этих полях, для каждой записи?
Barcebel (2004-08-11 17:43:00) [1]Вы абсолютно правы. Используя ADODataSet1.Next, получил нужный
результат. Кстати, пример нашел в хелпе.
P.S. А вообще я все не на Delphi, а на Builder делал.
VCL в сочетании с C++ и WinAPI - отличный инструмент.
Соловьев (2004-08-11 16:30:00) [2]
> 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;
46_55_41_44 (2004-08-11 16:22:00) [3]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;
Barcebel (2004-08-11 16:16:00) [4]Уточню свой вопрос.
Как, перемещаясь в цикле от начала до RecordCount, получить
значение текущей записи в текущем поле?
Есть ли методы на подобии
ADODataSet1.Records[i].GetValue
46_55_41_44 (2004-08-11 15:58:00) [5]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
Соловьев (2004-08-11 15:52:00) [6]FieldByName(Fields[i]).Value