AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADOConnection Paramter nicht gefunden
Thema durchsuchen
Ansicht
Themen-Optionen

ADOConnection Paramter nicht gefunden

Ein Thema von Captnemo · begonnen am 21. Jun 2012 · letzter Beitrag vom 21. Jun 2012
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 07:10
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO
Hi Leute,

bisher habe ich immer mit MySQL über Zeos gearbeitet, und hatte dabei eigentlich fast nie Probleme.

Jetzt will / muss ich mich mit ADO und MSSQL rumschlagen und zwar unter XE2, und es geht auch gleich los.

Bisher bin ich eigentlich immer so vorgegangen, dass ich für jede Abfrage eine Query hergenommen habe und entsprechen über Query.SQL.Text die Abfrage mit Parametern vorgegeben habe. Zur Laufzeit dann mittel ParamByName('blabla') Werte hinzugefügt. Fertig.

Bei ADO scheint das so einfach nicht mehr zu funktionieren. Wobei ich auch Thread gelesen habe, nach denen müßte es funktionieren.

Mein Code:
Delphi-Quellcode:
      dm1.q_mandanten_insert.Parameters.ParamValues['name']:=frm_neuerMandant.lbledt1.Text;
      dm1.q_mandanten_insert.Parameters.ParamValues['guid']:=GUIDToString(MandantGuid);
      dm1.q_mandanten_insert.ExecSQL;
Der Inhalt von dm1.q_mandanten_insert.sql.text:

Code:
Insert into Mandanten (GUID, Name) VALUES (:guid, :name)
Ergebnis: Fehlermeldung schon in der ersten Zeile "q_mandanten_insert: Parameter 'name' nicht gefunden".

Müssen Parameter bei XE2 bzw. ADO irgendwie zur Designtime irgendwo deklariert werden wenn ich die SQL-Abfrage auch schon vorher in der GUI setze? Bin ich vielleicht von Zeos zu sehr verwöhnt?

Und Bevor die Frage kommt, ja, ich habe auch eine ADOConnection, die ist auch active und meine querys sind auch damit verbunden.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 07:33
Versuch mal
Insert into Mandanten (GUID, Name) VALUES (@guid, @name);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 07:36
Delphi-Quellcode:
   ads.Parameters.ParseSQL(ads.SQL.Text,true);
// gegf. ist bei manchen Konstellationen auch so etwas nötig
// ads.Parameters.ParamByName('name').DataType := ftString;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (21. Jun 2012 um 07:55 Uhr) Grund: Hinweis auf AdoDatasets in diesem Zusammenhang falsch
  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
 
#4

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 07:56
Man kann schon zur Designtime prüfen, ob die Parameter erkannt wurden -> OI

Damit die Parameter automatisch gesetzt werden sind muss das DataSet eine funktionierende Connection besitzen. Denn nur dann kann der SQL String gegen die Verbindung geprüft werden und die Datentypen für die Parameter ermittelt werden.
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
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 07:59
@Sir Rufo
wobei es bisweilen bei komplexeren Abfragen auch schon zur Designtime ein ftUnknown geben kann, der dann manuell zu setzen ist.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#6

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 08:03
Also mit "@" statt ":" hat nichts gebracht. (Obwohl mir das sogar besser gefallen würde, weil bei hohen Auflösungen ein @ einfach besser zu sehen ist)

Aber ParseSQL war die Lösung. Ich war immer der Meinung, dass müßte man nur machen, wenn man eine parameterisiert Abfrag zur Runtime erstellt. Bei Zeos war's zumindest immer so.

(Hätt ich natürlich auch mal wieder selbst drauf kommen können).

Sollte ich eine ADODataSet dazwischen setzen? Warum? Welchen Vorteil hätte ich dadurch?

Bei der Zeos-Komponente brauchte ich weder eine aktive connection noch ein Dataset damit er meine Parameter ohne ParseSQL erkennt. Das war nur notwendig, wenn ich den SQL-String zur Runtime gesetzt habe. Kann natürlich sein,dass die Datasetfunktionalität schon im Source der Zeos-Komponenten mit drin sind. Das weiß ich natürlich nicht.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: ADOConnection Paramter nicht gefunden

  Alt 21. Jun 2012, 08:09
Vergiss meinen Hinweis auf Adodatasets, war in diesem Zusammenhang nicht korrekt.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:50 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