AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Query CreateParameter

ADO Query CreateParameter

Ein Thema von mrose · begonnen am 1. Dez 2008 · letzter Beitrag vom 1. Dez 2008
Antwort Antwort
mrose

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

ADO Query CreateParameter

  Alt 1. Dez 2008, 21: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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: ADO Query CreateParameter

  Alt 1. Dez 2008, 21:38
Den SQL-Text eintragen (mit den gewünschten Parametern)
SELECT * FROM MeineTabelle WHERE MeinDBFeld=:MeinParameter Und dann mal mit ADOQuery1.ParseSQL( ADOQuery1.SQL.Text ) drübergehen

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mrose

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

Re: ADO Query CreateParameter

  Alt 1. Dez 2008, 21:58
Hallo Oliver,



Anderer Weg, gleiches Ziel, funktioniert, Danke!

Matthias
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz