Einzelnen Beitrag anzeigen

Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#1

Zugriffsverletzung bei SQL Abfrage - Warum?

  Alt 23. Dez 2003, 16:52
Hallo,

ich hab mal wieder ein kleines Problem...und zwar:

Ich greife mit einem TQuery via SQL auf eine Paradox Datenbank zu und zeige die Daten in einem DBGrid und in einzelnen DBEdit(s) an.

Nun möchte ich die Tabelle nach verschiedenen Spalten zur Laufzeit umordnen können und die Spalte, nach der geordnet wurde nach vorne bringen.

Dies funktioniert eigentlich auch ganz gut mit diesem Code:

Delphi-Quellcode:
procedure TFArtikel.DBGridDatenTitleClick(Column: TColumn);
begin
  //Nach ArtNr sortieren
  If Column.FieldName = 'ArtNrThen
    Begin
      DB.SQL[1] := 'ORDER BY ArtNr';
      DB.Active := True;
      DB.FieldByName('ArtNr').Index := 1;
      iSortierStatus := 1;
    End;

  //Nach Artikelbezeichnung sortieren
  If Column.FieldName = 'ArtikelbezeichnungThen
    Begin
      DB.SQL[1] := 'ORDER BY Artikelbezeichnung';
      DB.Active := True;
      DB.FieldByName('Artikelbezeichnung').Index := 1;
      iSortierStatus := 2;
    End; ...
Ich kann also mit einem Klick auf den Titel der Spalte nach der Spalte ordnen lassen.
Nebenbei: Die erste SQL Zeile ist SELECT * FROM "c:\blah.db" Nun mein Problem: Leider klappt das Ganze immer nur ein paar Mal. Also wenn ich zur Laufzeit ein paar mal ordne werde ich dann mit einer Exception beglückt. EAccessViolation.

... Zugriffsverletzung bei Adresse ... usw.

Weiß jemand warum das so ist und was ich eventuell dagegen tun könnte?

[edit=r_kerber]Delphi- und SQL-Tags gesetzt. Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat