Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

Возвращаю результат запроса (ADO+SQL7) 


Sergey Karagodin   (2001-12-19 14:25) [0]

Где грабли?
Пытаюсь вернуть результат sp_help tratata через ADOQuery и NextRecordset. Возвращается только часть результата, а вконце возникает ошибка ADOQuery: Recordset is not open.
Что не так делаю? Может можно проще? Помогите.

procedure TForm1.AcRunSQLExecute(Sender: TObject);
Var
RecAff, I, iError: Integer;
TempDataSet: TCustomADODataSet;
S, ErrStr: String;
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(EditSQL.Text);
ADOQuery1.Open;

TempDataSet := ADOQuery1;
while TempDataSet <> nil do begin
{Field names}
TempDataSet.First;
S:="";
For I:=0 to TempDataSet.Recordset.Fields.Count-1 do begin
S:=S + (TempDataSet.Recordset.Fields[i].Name)+ #9;
end;
Memo1.Lines.Add(S);
Memo1.Lines.Add("--------------------------------");
{Field values}
while not TempDataSet.Eof do begin
S:="";
For I:=0 to TempDataSet.Recordset.Fields.Count-1 do begin
S:=S + VarToStr(TempDataSet.Recordset.Fields[i].Value) + #9;
end;
Memo1.Lines.Add(S);
TempDataSet.Next;
end;

if TempDataSet <> ADOQuery1 then begin
TempDataSet.Free;
end;
TempDataSet.Recordset := TempDataSet.NextRecordSet(RecAff);
Memo1.Lines.Add(#13#10);
end;
end;



Delirium   (2001-12-19 14:52) [1]

sp_help возвращает несколько RecordSet-ов, лучше пользуй
по отдельности:
sp_helpgroup
sp_helpuser
sp_helpindex
sp_helptrigger
sp_helprotect
sp_helpserver



Delirium   (2001-12-19 15:16) [2]

А вообще я, все активные, выбрал:

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
r:_RecordSet;
begin
ADOStoredProc1.First;
ADOTable1.Recordset:=ADOStoredProc1.Recordset;
ShowMessage("1");
while true do
begin
R:=ADOStoredProc1.NextRecordset(i);
if R=nil then break;
if (R.State<>adStateClosed) then ADOTable1.Recordset:=R;
ShowMessage("следующий");
end;
end;



Sergey Karagodin   (2001-12-19 16:21) [3]

Спасибо, сработало, только переменную adStateClosed или stClosed не видит. ADOdb в USES указал.



Delirium   (2001-12-19 16:34) [4]

uses ADOInt;




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.011 c
7-75687           Елена                 2001-10-07 14:00  2002.01.24  
Интересный вопросик!


1-75608           Трынкин Сергей        2002-01-08 10:52  2002.01.24  
Подскажите пожалуйста где взять ADOExpress Update Pack 1


14-75683          IvanIvanov            2001-11-27 22:44  2002.01.24  
Может здесь кто знает?????


3-75499           Polevi                2001-12-17 11:36  2002.01.24  
GUID


7-75689           AKV                   2001-10-03 15:34  2002.01.24  
Виртуальный принтер?