AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ADOCommand Parameter - ich werde bekoppt
Thema durchsuchen
Ansicht
Themen-Optionen

ADOCommand Parameter - ich werde bekoppt

Ein Thema von süden · begonnen am 6. Jan 2014 · letzter Beitrag vom 7. Jan 2014
Antwort Antwort
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#1

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 6. Jan 2014, 21:10
Ist fest verdrahtet im Objektexplorer als ftFloat.
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 06:54
Hast Du es mal mit ftBCD statt float versucht?
Gruß, Jo
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 07:09
Ist fest verdrahtet im Objektexplorer als ftFloat.
Access oder SQL-Server?
Zitat:
Delphi-Quellcode:
dKost := FieldByName('intern').AsFloat;
...
Parameters.ParamByName('I').Value := dKost;
Welcher Datentyp ist dKost ? Jetzt sag nicht 'Double'

Hmm..
Delphi-Quellcode:
Post(TheCodeSchnipselThatMakesDieProbleme)
IF DB=Access then
  Append(TheBeispielAccessDB)
else
  Append(TheBeispielSchemaSkript)
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#4

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 10:02
Klar Double, wird ja als Float gelesen, und es funktioniert ja auch - bis auf die Kommaverschiebung.
Ich habe ja auch beides getestet, Float und String (mit '.' und mit ','.

Direkt in den SQL-Commandtext gehts ja.

Datenbanken: Für Access und SQL Server (ab 2005).

Habe ich da irgendwas nicht auf dem Schirm?
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 10:31
Wenn du mit Feldinhalten ein Problem hast dann darfst du nur dem MS SQL Management Studio vertrauen wenn du den Inhalt prüfen möchtest.
Ich wollt's nur mal gesagt haben weil wenn man sich nur auf ADO Komponenten verlässt die Ursachen nur schwer finden kann.

Eine weitere Quelle von Problemen sind verschiedene Datenbanken zur Design- und Runtime.
Sobald man in Delphi eine ADOQuery oder ADOCommand ändert wird im Hintergrund die ADOConnection geöffnet, der SQL-Text analysiert und daraus die Datentypen der Parameter abgeleitet.
Verweisst z.B. die Connection zur Designtime auf eine lokale Accessdatenbank während zur Laufzeit ein SQL Server verwendet wird passen die Parametertypen in manchen Fällen nicht so richtig zusammen.
Nach meinen Erfahrungen ist es besser zur Designtime eine SQL Server DB zuverwenden als eine Accessdatenbank.
fork me on Github
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#6

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 10:39
Ich entwickle erstmal Datenbank unabhängig mit ADO,
dann teste ich mit Accsess + SQL Server (oder umgekehrt).

Hier habe ich zuerst mit Access getestet -> und bin nicht weiter gekommen.
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 10:58
Mein Tipp, lese nach der Übergabe einfach mal den Parameter wieder aus, ob das richtige drin steht.

Wenn Ja, dann ist der Fehler woanders zu suchen (die SQL Funktion könnte ja auch falsch sein )
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: ADOCommand Parameter - ich werde bekoppt

  Alt 7. Jan 2014, 15:32
Ist fest verdrahtet im Objektexplorer als ftFloat.
Das muss nicht immer zwingend funktionieren, habe da auch schon mal die Erfahrung gemacht, dass das Ergebnis anders aussah, als erwartet.
Meine Lösung sah in etwa so aus:
Delphi-Quellcode:
  ADOCommand1.Parameters.Clear;
  ADOCommand1.CommandText := 'parametriesiertes SQL...';
  ADOCommand1.Parameters.ParamByName('jeder Parameter').DataType := ftDatentyp;
  ADOCommand1.Parameters.ParamByName('jeder Parameter').Value := Wert;
Nachsatz:

Beim Kompilieren darauf achten, dass die Entwicklungsumgebung keine geöffnete Datenbankverbindung, Abfrage... hat.

Die Datenbankverbindung immer im laufenden Programm herstellen und beenden und nicht die bereits in der Entwicklungsumgebung geöffnete Datenbankverbindung nutzen.

Geändert von nahpets ( 7. Jan 2014 um 15:36 Uhr)
  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 17:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz