Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

Re: Unknown column bei TSQLQuery auf zwei Tabellen (Left joi

  Alt 11. Mai 2009, 14:14
Zitat von michiww:
Ich werde als Delphi 2009 Kunde dazu ein Ticket bei embarcadero aufmachen, die sollen das mal endlich fixen.
Es ist kein Bug, sondern dein Fehler!
SELECT COUNT(*) AS RecordAnzahl FROM rights, allocrights WHERE allocrights.rightID=rights.rightID AND allocrights.userID=5910 And rights.sysID=23;
Delphi-Quellcode:
SQLquery1.Open;
Memo1.Lines.Add(IntToStr(SQLquery1.FieldByName('RecordAnzahl').AsInteger));
SQLquery1.Close;
Man darf nicht einfach SELECT COUNT(*) FROM irgendwas schreiben und dann darauf vertrauen, dass das Feld "COUNT(*)" heisst.
Der Feldname ist potentiell völlig undefiniert.
Jedes DBMS handhabt das etwas anderst.
Man darf hier nicht auf ein bestimmtes Namensschema vertrauen.
Das gilt natürlich auch für MIN(), MAX(), ARG(), SUM() und alle anderen SQL-Funktionen.
Entweder man wendet den AS-Operator wie oben im Beispiel an oder man fragt so ab:
Memo1.Lines.Add(IntToStr(SQLquery1.Fields[0].AsInteger));
Andreas
  Mit Zitat antworten Zitat