DateTimePicker aus Datenbank füllen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

DateTimePicker aus Datenbank füllen

Beitragvon Sayawa » 24. Mai 2018, 09:41 DateTimePicker aus Datenbank füllen

Hallo Zusammen,

ich fülle die Datenbank mit dem DateTimePicker mit dem folgenden Code:

Code: Alles auswählen
 
FrmConnectDB.SQLQuery1.ParamByName('datumangeschafft').AsString := Formatdatetime('yyyy.mm.dd', FrmEQStamm.DateTimePicker1.date);
 


Gspeichert ist er in der Datenbank im Format Jahr/Monat/Tag, im DateTimePicker ist es Tag/Monat/Jahr

Nun will ich das Datum bei einer Suchanfrage wieder in den DateTimePicker einlesen.

Versucht habe ich es mit:
Code: Alles auswählen
 
DateTimePicker1  := FrmConnectDB.SQLQuery1.ParamByName('datumangeschafft').AsString;
 


Allerdings bekomme ich dann die Fehlermeldung Error: Incompatible types: got "AnsiString" expected "TDateTimePicker".
Was in der Abfrage ist falsch?
Sayawa
 
Beiträge: 13
Registriert: 26. Apr 2018, 14:15
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon h-elsner » 24. Mai 2018, 10:30 Re: DateTimePicker aus Datenbank füllen

Der DateTime Picker will einen Wert als TDateTime. Du muss erst deinen String wieder in TDateTime umwandeln z.B. mit EncodeDate:
http://www.delphibasics.co.uk/RTL.asp?Name=EncodeDate

Gruß HE
h-elsner
 
Beiträge: 42
Registriert: 24. Jul 2012, 14:42
Wohnort: Illertissen
OS, Lazarus, FPC: LINUX Mint18.3, Win10, Lazarus 1.8, FPC3.0.4 | 
CPU-Target: 64Bit
Nach oben

Beitragvon Socke » 24. Mai 2018, 11:05 Re: DateTimePicker aus Datenbank füllen

Du musst schon die Eigenschaft Date angeben; ansonsten wird das nichts; Vielliecht kannst du das Datum auch direkt als DateTime aus der Datenbank abfragen.
Code: Alles auswählen
DateTimePicker1.Date  := FrmConnectDB.SQLQuery1.ParamByName('datumangeschafft').AsDateTime;

Falls du in der Datenbank das Datum als String speicherst, muss du diesen selbst in ein DateTime wandlen (siehe Antwort von h-elsner).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2514
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon Sayawa » 24. Mai 2018, 11:31 Re: DateTimePicker aus Datenbank füllen

Vielen Dank für die schnellen Antworten :)

Das ganze hat geklappt mit:

Code: Alles auswählen
 
DateTimePicker1.Date  := FrmConnectDB.SQLQuery1.FieldbyName('anschaffungsdatum').AsDateTime
 


Es musste auch FieldbyName statt ParambyName sein.
Sayawa
 
Beiträge: 13
Registriert: 26. Apr 2018, 14:15
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

porpoises-institution
accuracy-worried