Hallo,
ich steh' gerade etwas auf'm Schlauch.
In meinem Programm will ich mir einen
Query zusammenbauen. Zu dem Zweck addiere ich zum
SQL eines ADOQueries Zeilen. Das funktioniert auch. Da ich aber auch
SQL Statements einbauen muss, welche z.B. TimeStamps oder ":" beinhalten, habe ich in meinem Statetents Parameterreferenzen eingebaut z.B. in der Form
:C7
Da die Anzahl der Parameter von Abfragefall zu ABfragefall unterschiedlich sein kann, will ich mir die Parameter zur Laufzeit erzeugen. Ich schmeisse also erst alles weg (
SQL.Clear), Addieren dann die
SQL Zeilen zum
Query und versuche dann die Paramter zu erzeugen in der Form:
ADOQuery1.Parameters.CreateParameter('C'+inttoStr(i),ftString,pdInput,-1,Params[i]);
(i ist tatsächlich ein Integer, Params[i] ist ein array of string und für das folgende Beispiel habe ich auch für i=7 einen Wert in Params[i] stehen)
Die Anweisung wird auch im Eizelschrittmode problemlos ausgeführt.
Wenn ich aber gleich in der nächsten Zeile des Codes schreibe:
hallo := AdoQuery2.Parameters.ParamByName('C7').Value;
dann bekomme ich zur Laufzeit einen Fehler (C7 sollte hier m.E. ja existieren): Variante des Typs (Null) konnte nicht in Typ String umgewandelt werden...
Wo liegt mein Denkfehler. Bin für jede Idee dankbar...
Matthias