Форум: "Базы";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
ВнизКАК: Структура результата Query без ожидания его окончания Найти похожие ветки
← →
BlackTiger (2002-10-04 13:30) [0]Как получить колонки разультата запроса, на дожидаясь его полной отработки. Что-то ничего, кроме "SELECT TOP 1 * FROM Table", не приходит в голову. Хотя мне кажется (глюки?) что я видел функцию LoadFields или что-то вроде того, да и сама дельфа это делает.
Если запрос сложный и долгий, то дважды открывать его - слишком жирно.
Может его как-то прервать можно, или сказать "дай структуру, но не давай данных".
← →
sniknik (2002-10-04 13:39) [1]можно вообще без запроса. через адо работаеш?
← →
BlackTiger (2002-10-04 13:44) [2]КАНЭЧНО через АДО! Как сама дельфа это делает?
Она же даже из запроса типа "EXEC sp_get_some_data" получает поля результата ОЧЕНЬ быстро, хотя полностью сам запрос выполняется довольно долго. Как она его прерывает?
← →
sniknik (2002-10-04 14:20) [3]через получение схем. не прерывая запрос а запросом на структуру, ну понятно.
для примера
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 (с таким же названием).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c