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

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

КАК: Структура результата Query без ожидания его окончания [D6, MSSQL]


BlackTiger ©   (2002-10-04 13:30:00) 

Как получить колонки разультата запроса, на дожидаясь его полной отработки. Что-то ничего, кроме "SELECT TOP 1 * FROM Table", не приходит в голову. Хотя мне кажется (глюки?) что я видел функцию LoadFields или что-то вроде того, да и сама дельфа это делает.
Если запрос сложный и долгий, то дважды открывать его - слишком жирно.
Может его как-то прервать можно, или сказать "дай структуру, но не давай данных".


sniknik   (2002-10-04 14:20:00) [1]

через получение схем. не прерывая запрос а запросом на структуру, ну понятно.
для примера

ADOConnection1.OpenSchema(siColumns, VarArrayOf([Unassigned, Unassigned, SelectedTable, Unassigned]), EmptyParam, FieldSchema);
if FieldSchema.Locate("COLUMN_NAME",ListBox2.Items[Index], []) then begin
sFieldName:= FieldSchema.Fields[0].AsString;
sType:= FieldSchema.Fields[1].Text;
sSize:= FieldSchema.Fields[2].AsString;
sPrecision:= FieldSchema.Fields[3].AsString;
sScale:= FieldSchema.Fields[4].AsString;
end else begin
sFieldName:= "Not Find. Sorry.";
sType:= "";
sSize:= "";
sPrecision:= "";
sScale:= "";
end;


FieldSchema здесь ADODataSet c структуру можеш посмотреть в дельфийском примере по ADO (с таким же названием).


BlackTiger   (2002-10-04 13:44:00) [2]

КАНЭЧНО через АДО! Как сама дельфа это делает?
Она же даже из запроса типа "EXEC sp_get_some_data" получает поля результата ОЧЕНЬ быстро, хотя полностью сам запрос выполняется довольно долго. Как она его прерывает?


sniknik   (2002-10-04 13:39:00) [3]

можно вообще без запроса. через адо работаеш?


Наверх

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