2 ADOQuerys åben på samme tid?
Jeg har et spørgsmål om man kan man have en ADOQuery1 åben imens man åbner en ADOQuery2 som sletter en record udfra et søgekriterie fra ADOQuery1?Jeg har fundet ud af, da jeg indlæste min records i et nText felt at jeg havde sorteret listen inden jeg oprettede det ogt det skal det ikke.
procedure TForm1.Button2Click(Sender: TObject);
var I,Y : integer;
tmp : string;
begin
ADOQuery1.SQL.Text := 'SELECT DISTINCT NAME FROM DATALOG';
ADOQuery1.Open;
try
while not ADOQuery1.Eof do
begin
UserList.Add(ADOQuery1.FieldByName('NAME').AsString);
ADOQuery1.Next;
end;
finally
ADOQuery1.Close;
try
Progressbar1.Position := 0;
ProgressBar1.Max := UserList.Count;
for I := 0 to UserList.Count - 1 do
begin
Label1.Caption := UserList.Strings[I];
Label1.Refresh;
ADOQuery1.SQL.Text := 'SELECT FILENAME FROM DATALOG WHERE NAME=' + Quotedstr(UserList.Strings[I]);
ADOQuery1.Open;
FileList.Clear;
while not ADOQuery1.Eof do
begin
FileList.Add(ADOQuery1.FieldByName('FILENAME').AsString);
ADOQuery1.Next;
end;
Progressbar2.Position := 0;
ProgressBar2.Max := FileList.Count;
// ADOTable1.Active := true;
for Y := 0 to FileList.Count - 1 do
begin
Label2.Caption := FileList.Strings[Y];
Label2.Refresh;
ADOQuery1.SQL.Text := 'Select FILEDATA From DATALOG Where FILENAME='+Quotedstr(FileList.Strings[Y]);
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
// MemoryStream := (ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName('DATALOG'),bmRead) as TMemoryStream);
DataList.text := ADOQuery1.FieldByName('FILEDATA').AsString;
Memo1.Lines.Text := DataList.Text;
Memo1.WordWrap := true;
Memo1.Refresh;
if (POS('ROBOCOPY', Memo1.Lines[2]) = 0) and (POS('Version XP010', memo1.Lines[2]) = 0) then
begin
ADOQuery2.Close;
ADOQuery2.SQL.Text := 'Delete From Datalog where'; // Denne del er ikke færdig, men vil bare høre om mit spørgsmål kan lad sig gøre.
// showmessage('Fundet');
// Delete;
end;
ADOQuery1.Next;
end;
ProgressBar2.StepIt;
end;
ProgressBar1.StepIt;
end;
finally
ADOQuery1.Close;
end;
end;
if MessageDlg('Færdig',mtConfirmation, [mbOK], 0) = mrOk then
begin
Close;
end;
end;
