Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi и Fox [D7, MSSQL]


apl ©   (2006-05-26 14:53:00) 

Подскажите! В Visual Foxpro мог результат запроса поместить
в курсор или массив.
Например Select * from table1 into cursor ttt
или Select * from table1 into array ttt
Возможно ли такое при использовании ADO компонентов?
Задача такая: есть допустим 5 таблиц, в каждой есть поле idFio в котором - код человека. В каждой таблице записи с таким кодом могут быть от 0 и до. Нужно посчитать сколько в каждой и отобразить на форме в нескольких полях: юзеру - для информации, мне - для управления набором достопных операций.


Anatoly Podgoretsky   (2006-05-29 00:35:00) [1]

ADOQuery это и есть курсор


MsGuns   (2006-05-26 15:23:00) [2]

>apl   (26.05.06 15:02) [4]
>Нужно
Select id,count(*) from table1 group by id where id=XXX
Это написано в ADOQuery1.SQL
Можно ли сразу поместить результат в переменную без возни с полями, преобразованием типов.

Насколько мне известно - нет. Ибо нельзя поместить неизвестное кол-во пар полей в однупеременную.

Если надо получить единственноезначение, возвращаемое запросом в виде 1 записи с 1 полем, то "забрать" это значение в переменную можно так:

RecCount := ADOQuery1.Fields[0].AsInteger;

Если же надо работать с набором данных как множеством записей, возвращенных запросом, то надо иметь алгоритм "сканирования" этого набора и перемещаться по его записям, используя методы

TAdoQuery Next,Prior,First,Last,Locate и т.д.

Если надо отображать полученный набор, то для этой цели нужен TDataSource и визуальные компоненты типа тех, что на закладке Data Controls

Пока же мне лично абсолютно неясно, что же все-таки требуется


Sergey13   (2006-05-26 15:08:00) [3]

2[4] apl   (26.05.06 15:02)
>Можно ли сразу поместить результат в переменную без возни с полями, преобразованием типов.
После Open результат уже в "переменной" ADOQuery1.


apl   (2006-05-26 15:02:00) [4]

Нужно
Select id,count(*) from table1 group by id where id=XXX
Это написано в ADOQuery1.SQL
Можно ли сразу поместить результат в переменную без возни с полями, преобразованием типов.


Sergey13   (2006-05-26 14:56:00) [5]

Набор данных, получаемых от запроса, и является тем курсором/массивом про которые ты говоришь.


MsGuns   (2006-05-26 14:56:00) [6]

А где там ADO компоненты ?


Ega23   (2006-05-26 14:55:00) [7]

Можно. Только не так. А как - не понял, что тебе нужно...


Наверх

Титульная страница Поиск, карта сайта Написать письмо