AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

date und string

Ein Thema von jschade · begonnen am 24. Jul 2003 · letzter Beitrag vom 22. Sep 2003
Antwort Antwort
jschade

Registriert seit: 11. Jul 2003
Ort: Hamburg
62 Beiträge
 
#1

date und string

  Alt 24. Jul 2003, 10:18
hi leute,

hab folgendes problem:

will mit hilfe von zwei datetimepickern einen datumsbereich auswählen und dann in meiner datenbank prozesse selektieren, die teil dieses bereiches sind. dazu sind in der datenfelder zwei spalten vom type datum/zeit die den anfang und das ende der prozesse bestimmen.

ich übergebe den inhalt der beiden datetimepicker an zwei variablen vom typ string und baue diese dann in meine Abfrage ein. dann bekomme ich ne fehlermeldung "datentypen in kriterienausdruck unverträglich. ich weiß, dass diese kommt, weil ich strings in den datumsfeldern abfragen möchte.
setze ich nun meine variablen (für die datetimepicker) auf den typ tdatetime, kann ich sie nicht in meinen sql-string einbauen, ändere ich aber in der datenbank die beiden spalten auf den typ text, verfälscht das total mein ergebnis (keine ahnung warum)...

hat jemand evtl. nen vorschlag, wie ich das problem lösen könnte? probier hier die ganze zeit rum, aber komm nicht weiter...

Code:
procedure TPlanung.Button1Click(Sender: TObject);
var db :String;
var de :String;

begin
db := datetostr(DateTimePicker1.Date);
de := datetostr(DateTimePicker2.Date);

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT DATAUS.Name AS Prozess, DATAUS.Anfang, DATAUS.Ende FROM DATAUS WHERE (((DATAUS.Anfang <= '+QuotedStr(db)+') AND (DATAUS.Ende >= '+QuotedStr(de)+')) OR ((DATAUS.Anfang >= '+QuotedStr(db)+') AND (DATAUS.Anfang <= '+QuotedStr(de)+') AND (DATAUS.Ende >='+QuotedStr(de)+')) OR ((DATAUS.Anfang <= '+QuotedStr(db)+') AND (DATAUS.Ende >= '+QuotedStr(db)+') AND (DATAUS.Ende <= '+QuotedStr(de)+')) OR ((DATAUS.Anfang >= '+QuotedStr(db)+') AND (DATAUS.Anfang <= '+QuotedStr(de)+') AND (DATAUS.Ende >= '+QuotedStr(db)+') AND (DATAUS.Ende <= '+QuotedStr(de)+')))');
ADOQuery1.Open;

DBGrid1.Visible :=True;
DBGrid1.Repaint;
end;
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#2

Re: date und string

  Alt 24. Jul 2003, 10:48
Hy weiss nicht ob dir das hilft.

ich frag das immer so ab:

FormatDateTime('yyyy-mm-dd',dxDateEdit1.Date)

Das Datumsfeld in der Datenbank ist Format DATETIME.
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
  Mit Zitat antworten Zitat
jschade

Registriert seit: 11. Jul 2003
Ort: Hamburg
62 Beiträge
 
#3

Re: date und string

  Alt 24. Jul 2003, 13:41
hab woanders noch was gefunden. man muss es dann nur so in seinen sql-string einbauen:

Code:
... >=DATEVALUE('+QuotedStr(db)+') ...
dann kann man's auch felder im datetime-format ansprechen...
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#4

Re: date und string

  Alt 22. Sep 2003, 13:24
Zitat von jschade:
hab woanders noch was gefunden. man muss es dann nur so in seinen sql-string einbauen:

Code:
... >=DATEVALUE('+QuotedStr(db)+') ...
dann kann man's auch felder im datetime-format ansprechen...
Mmhhh....

ich versuche in eine MS-SQL Datenbank zu importieren und bei mir kommt dann die Fehlermeldung das der DATEVALUE nicht kennt...
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: date und string

  Alt 22. Sep 2003, 13:32
Hallo,

ich gehe einmal davon aus, dass Du evtl. eine Access-DB benutzt. Wenn ja, dann musst das Datumsformat von TT.MM.JJJJ nach MM/TT/JJJJ umformen.

Die erreichst Du mit der Funktion FormatDateTime('mm/dd/yyyy', DateTimePicker1.Date).
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#6

Re: date und string

  Alt 22. Sep 2003, 13:54
Zitat von Gollum:
Hallo,

ich gehe einmal davon aus, dass Du evtl. eine Access-DB benutzt. Wenn ja, dann musst das Datumsformat von TT.MM.JJJJ nach MM/TT/JJJJ umformen.

Die erreichst Du mit der Funktion FormatDateTime('mm/dd/yyyy', DateTimePicker1.Date).
Nein, Access kommt nicht vor, ich möchte von einem MS - SQL Server zu einem anderem MS - SQL schreiben ...

Die Werte in dem Feld auf der DB (Es ist DateTime) liegen so vor: TT/MM/YYYY (Bsp.:23.06.2003 09:05:00), was ja eigentlich das richtige Format für SQL ist ....


Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  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 04:18 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