Einzelnen Beitrag anzeigen

mrose

Registriert seit: 21. Feb 2005
22 Beiträge
 
#1

ADO Query CreateParameter

  Alt 1. Dez 2008, 22:35
Datenbank: MS-Access • Version: 2003 • Zugriff über: ADO
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
  Mit Zitat antworten Zitat