Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
Delphi 8 Professional
|
Re: FibPlus SQL-Befels Reinfolge / abarbeitung
28. Dez 2006, 20:40
Mit haarsträubend meine ich so etwas unübersichtliches :
Zitat von manfred_h:
Delphi-Quellcode:
Close;
SQL.Clear;
SQL.Add ( ' insert into SCHOOL ( ID, C_NR, U_NR, NAME, KIND, TITLE, STR, PLZ, CITY, TEL, FAX, EMAIL, HOMEPAGE, SCHOOLJ, NUMBER, WORKER, ACCEPTANCE, STATUS, NOTE, NC, CS, L_UPDATE, STAT_UPDATE, STAT_DEL, OPT )' +
' values ( :ID, :C_NR, :U_NR, :NAME, :KIND, :TITLE, :STR, :PLZ, :CITY, :TEL, :FAX, :EMAIL, :HOMEPAGE, :SCHOOLJ, :NUMBER, :WORKER, :ACCEPTANCE, :STATUS, :NOTE, :NC, :CS, :L_UPDATE, :STAT_UPDATE, :STAT_DEL, :OPT )');
Ein falscher Buchstabe irgendwo in dem SQL-String und es kracht. Wo sind hier z.B. 2 Fehler enthalten ?
Delphi-Quellcode:
Close;
SQL.Clear;
SQL.Add ( ' insert into SCHOOL ( ID, C_NR, U_NR, NAME, KIND, TITLE, STR, PLZ, CITY, TEL, FAX, EMAIL, HOMEPAGE, SCHOOLJ, NUMBER, WORKER, ACEPTANCE, STATUS, NOTE, NC, CS, L_UPDATE, STAT_UPDATE, STAT_DEL, OPT )' +
' values ( :ID, :C_NR, :U_NR, :NAME, :KIND, :TITLE, :STR, :PLZ, :CITY, :TEL, :FAX, :EMAIL, :HOMEPAGE, :SCHOOLJ, :NUMBER, :WORKER, :ACCEPTANCE, :STATUS, :NOTE, :NC, :CS, :L_UPDATE, :STAT_UPDATE, :STAT_DEL, :OT )');
Wie wäre es, das ganze so zu machen :
Code:
DS.insert;
DS.FindField ('ID').AsInteger := ID;
DS.FindField ('C_NR').AsInteger := // wo der Wert herkommt ist im Prinzip egal
DS.FindField ('U_NR').AsInteger := // wo der Wert herkommt ist im Prinzip egal
// weitere Tabellen-Felder bestücken
DS.Post;
Delphi wird dann bei einem Schreibfehler genau in der Zeile stehen, wo ein Schreibfehler drin ist. "Unknown Tablefield" oder so. Bei dem Klartext- SQL zwar auch, aber dann wäre lediglich die Zeile gefunden und nicht der Fehler. Der ist dann aber auch in einer ellenlangen Zeile kurzfristig zu finden. Als Hellseher zumindest.
OT : wie habe ich das PRE fabriziert ?
Gruß
Hansa
|