Einzelnen Beitrag anzeigen

shmia

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

AW: Parameter werden nicht erkannt?

  Alt 13. Feb 2012, 15:23
Also ich würde an deiner Stelle die neue SQL/99 Join-Syntax einsetzen.
Delphi-Quellcode:
SQL_TEXT1='SELECT COUNT(cases.casekey) '+
          'FROM CASES JOIN CASENAME ON CASES.CASEKEY=CASENAME.CASEKEY '+
          'LEFT OUTER JOIN TABLENAMETYPE ON CASENAME.NAMETYPEKEY=TABLENAMETYPE.NAMETYPEKEY '+
          'WHERE CASENAME.NAMEKEY=:NameKey';
Diese neue Syntax hat 2. Vorteile:
1.) Datenbank + Anwendung ist leichter auf andere Datenbanken portierbar und ausserdem leichter zu lesen weil man genau sieht was wie verjoinet wird.

2.) Die SQL-Anweisung wird ja zur Laufzeit von der VCL bzw. ADO geparsed. Dabei wird versucht, Parameter sowie dessen Datentypen zu ermitteln.
Dabei dürfte der Parser mit der Standard JOIN Syntax besser zurechkommen als mit der proparitären JOIN-Syntax von Oracle.

Um den Parameter zu befüllen würde ich folgenden Weg verwenden (weil kürzeste Schreibweise):
Doub_DM.ADOQuery1.Parameters.ParamValues['_NAMEKEY']:=namekey;
Andreas
  Mit Zitat antworten Zitat