AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL - Conversion Error
Thema durchsuchen
Ansicht
Themen-Optionen

SQL - Conversion Error

Ein Thema von Borschti · begonnen am 19. Jun 2008 · letzter Beitrag vom 19. Jun 2008
Antwort Antwort
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#1

SQL - Conversion Error

  Alt 19. Jun 2008, 10:45
Datenbank: ADS • Version: 8.1 • Zugriff über: Query
Hallo,

ich habe ein kleines Problem mit einem SQL Statment, und zwar bekomme ich einen Conversion Error angezeigt und ich habe keine Ahnung woran das liegen könnte.

Hier mal mein Code:

Delphi-Quellcode:

sql := 'SELECT adress.VB ,adress.AdrNr, adress.Name1, adress.Name2, adress.PLZ, adress.Ort, adress.Strasse, adress.Tour,aufkpf.VKNETTO, aufkpf._anzpos, aufkpf.Liefertermin ';
sql := sql + 'FROM adress inner join aufkpf on adress.adrNr = aufkpf.adrnr ';
sql := sql + 'where Sperrvermerk = '+ quotedstr('F') +' and aufkpf.Liefertermin <= convert('+quotedstr(DateTimeToStr (VisiDateTimePicker1.DateTime))+', sql_timestamp) ';
sql := sql + 'order by adress.VB, adress.AdrNr, aufkpf.liefertermin desc';
Das Problem muss irgendwo hier liegen:
convert('+quotedstr(DateTimeToStr(VisiDateTimePicker1.DateTime))+', sql_timestamp) Nur ich weiß nicht wie ich das anders schreiben könnte.

Was muss ich beachten damit der Conversion Error verschwindet?
Schonmal danke für alle Antworten.

mfg
Alex
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 10:47
Wenn ADS (SQL-)Paramter unterstützt, würde ich diese verwenden
Markus Kinzler
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#3

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 10:54
Wie kann ich das überprüfen ob ADS SQL Parameter unterstützt und worin besteht der Vorteil?
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#4

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 10:58
[OT]
vor 'sperrvermerk' fehlt noch die tabelle
[/OT]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 11:07
Zitat:
Wie kann ich das überprüfen ob ADS SQL Parameter unterstützt
Doku lesen oder Ausprobieren
Zitat:
und worin besteht der Vorteil?
1. Wird prepared, ist also bei mehrmaliger Anwendung schneller
2. es wird gesorgt das die Inhalte richtig interpretiert werden ( z.B. bei Datumswerten, Dezimaltrenner usw.)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#6

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 11:21
Zitat von Borschti:
Das Problem muss irgendwo hier liegen:
convert('+quotedstr(DateTimeToStr(VisiDateTimePicker1.DateTime))+', sql_timestamp)
Ich vermute mal, dass Dein Datumsformat nicht ANSI-konform ist und auch nicht dem ADS mitgeteilt wurde (AdsSetDateFormat bzw eine AdsSettings Komponente mit drauf und richtig vorbelegen).
Parameter werden unterstützt, das Convert kannst Du ganz rauslassen:

Delphi-Quellcode:
SQL:=SQL+' and aufkpf.Liefertermin <= :liefertermin ';
//...
Query.ParamByName('liefertermin').AsDateTime:=VisiDateTimePicker1.DateTime;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 12:16
Erstmal danke für eure Antworten.

Habe das Problem jetzt gefunden, es lag an dem Format wie der DateTimePicker das Datum zurückgegeben hat, TIMESTAMP ordnet das Datum so an | Monat/Tag/Jahr Uhrzeit | der DateTimePicker aber so | Tag.Monat.Jahr Uhrzeit| Ich habe dann das Datum des DateTimePickers auseinandergenommen und richtig zusammengesetzt, jetzt klappt es so wie es sollte.

Aus reiner neugier nochmal eine kleine Frage ob ich das mit den SQL-Parametern jetzt richtig verstanden habe, der Parameter würde in Joachims Beispiel "liefertermin" heisen oder?

Und wie kann ich diesen dann ansprechen, muss ich da irgendwelche besonderheiten beachten?

Habe noch nie mit SQL-Parametern gearbeitet und google will auf die schnelle auch nichts wirklich brauchbares ausspucken

mfg
Alex
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 12:18
Hier im Forum suchenSQL-Parameter sollte eine hübsche Auswahl liefern
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 12:25
Zitat:
Aus reiner neugier nochmal eine kleine Frage ob ich das mit den SQL-Parametern jetzt richtig verstanden habe, der Parameter würde in Joachims Beispiel "liefertermin" heisen oder?
Ja
Zitat:
Und wie kann ich diesen dann ansprechen,
In Delphi mit Query.ParamByName('liefertermin').Value in SQL :<Paramname>
Zitat:
Muss ich da irgendwelche besonderheiten beachten?
Name muss eindeutig sein und kann nur einmal pro Abfrage verwendet werden. zudem gelten die Namenskonventionen des DBMS.
Markus Kinzler
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#10

Re: SQL - Conversion Error

  Alt 19. Jun 2008, 13:11
Ok, danke euch nochmals

mfg
Alex
  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 13:01 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