Einzelnen Beitrag anzeigen

daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#20

Re: Problem mit geschlossener Datenmenge!

  Alt 10. Jun 2009, 18:35
Delphi-Quellcode:
with DM.qCommon do begin
          SQL.Clear;
          SQL.Add('delete from INDEXES');
          ExecSQL;
          SQL.Clear;
          SQL.Add('insert into INDEXES (IND) values (:Ind)');
          Prepare;
          for i := 0 to ol2Scan.Count - 1 do begin
              ParamByName('Ind').AsInteger := ol2Scan.GetItem(i).IndOrg;
              ExecSQL;
          end;
          Unprepare;
          SQL.Clear;
          SQL.Add('select INDORGSRC,INDORGDST,INDDN,BLOCK');
          SQL.Add('from ILLUSION where INDORGSRC in');
          SQL.Add('(select IND from INDEXES)');
          Open;
        try
          while not EOF do begin
                i := 0;
                FoundIllusion := False;
                while i < ol2Scan.Count do begin
                      oList := ol2Scan.GetItem(i);
                      if FieldByName('IndOrgSrc').AsInteger = oList.IndOrg then
                         for j := 0 to slDiagn.Count - 1 do begin
                             if FieldByName('IndDiagn').AsInteger = slDiagn.GetItem(j).Ind then begin
                                if FieldByName('Block').AsInteger = 0 then begin
                                   oList.IndOrg := FieldByName('IndOrgDst').Asinteger;
                                end else begin
                                   ol2Scan.Delete(i); // We kill 'em.
                                   Dec(i);
                                end;
                                FoundIllusion := True;
                                break;
                             end;
                         end;
                    if FoundIllusion then break;
                    Inc(i);
                end;
                Next;
          end;
        finally
          Close;
        end;
          SQL.Clear;
          SQL.Add('select IND,NAME,INDETA,INDGRP,FGROUP,OPEN,POL');
          SQL.Add('from IMAGE where IND in');
          SQL.Add('(select IND from INDEXES)');
          Open; // AN DIESER STELLE SCHEINT DER FEHLER ZU SEIN, wenn ich OPEN rauskommentiere geht er weiter, aber lädt mir nicht die Daten für
                     eine TChecklistBox usw.
        try
          while not EOF do begin .........
@hoika:

Mit ExecSQL kommt genau der selbe Fehler.

Mir ist gerade auf geafallen das in der Zeile:
SQL.Add('select IND,NAME,INDETA,INDGRP,FGROUP,OPEN,POL'); ein Open vorkommt, wird sich der Fehler daraufbeziehen?
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat