Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Aktuelles Datum in die DB speichern? (https://www.delphipraxis.net/173501-aktuelles-datum-die-db-speichern.html)

OrNEC 28. Feb 2013 13:11

AW: Aktuelles Datum in die DB speichern?
 
Zitat:

Zitat von Aphton (Beitrag 1205410)
Benütze bitte Format(), bitte!

Du meinst Format(Date("now"))?

Bringt auch nix... :gruebel:

OrNEC 28. Feb 2013 13:12

AW: Aktuelles Datum in die DB speichern?
 
Zitat:

Zitat von mkinzler (Beitrag 1205412)
Zitat:

Zitat von OrNEC (Beitrag 1205408)
Ich arbeite mit SQLite, da ist es nicht so einfach mit den Querys.

Kommt auf die verwendeten Komponenten an. Mit UniDAC sollte es z.B. funktionieren.

Im 2. Fall hast du keine "" um das Datum.

Ich möchte keine zusätzliche Komponenten verwenden.
Was hat UniDAC noch für Vorteile? Ist das Kostenlos?

mkinzler 28. Feb 2013 13:19

AW: Aktuelles Datum in die DB speichern?
 
Zitat:

Zitat von OrNEC (Beitrag 1205414)
Zitat:

Zitat von mkinzler (Beitrag 1205412)
Zitat:

Zitat von OrNEC (Beitrag 1205408)
Ich arbeite mit SQLite, da ist es nicht so einfach mit den Querys.

Kommt auf die verwendeten Komponenten an. Mit UniDAC sollte es z.B. funktionieren.

Im 2. Fall hast du keine "" um das Datum.

Ich möchte keine zusätzliche Komponenten verwenden.

Dann musst du mit dem Problem leben, alles manuell ins erwartete Format zu bringen. Und musst wohl auf sinnvolle Features wie die Parameter usw. verzichten.

Zitat:

Was hat UniDAC noch für Vorteile? Ist das Kostenlos?
Einige. Z.B. ermöglicht es einen datenbankunabhängigen Zugriff. Ist aber nicht kostenlos.

es gibt aber auch kostenlose Lösungen für SQLite wie Zeos oder Synopsis

Aphton 28. Feb 2013 13:44

AW: Aktuelles Datum in die DB speichern?
 
Zitat:

Zitat von OrNEC (Beitrag 1205413)
Zitat:

Zitat von Aphton (Beitrag 1205410)
Benütze bitte Format(), bitte!

Du meinst Format(Date("now"))?

Bringt auch nix... :gruebel:

Nein...
Delphi-Quellcode:
const
  queryInsertMedia =
    'INSERT INTO media (mediatitle, description, status, isbn, publicationyear, insertdate, fk_place_id, fk_publisher_id, fk_author_id, fk_category_id, fk_language_id, fk_entleiher_id, edition) ' +
    'VALUES ("%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")';

{...}

sSql := Format(queryInsertMedia, [TitleEdit.Text, DescriptionMemo.Text, IntToStr(status), {...}]);
Edit:
Format(Date("now"))
"??
Delphi-Syntax!

Aphton 28. Feb 2013 13:53

AW: Aktuelles Datum in die DB speichern?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Evt. gibts da einen viel einfacheren Weg bzw. die diversen DBS bieten spezielle Funktionalitäten an, jedoch hatte ich damals nichts für SQLite gefunden, womit ich zufrieden war.
Im Anhang ist ne kleine Unit, die DateTime zu nem Integer konvertiert.
aus 28.02.2013 wird 20130228 (yyyymmdd)
aus 14:49:50 wird 144950 (ohne ":")

Delphi-Quellcode:
var
  encodedTime: Int64;
begin
  encodedTime := encodeDateTime(Now); // den Inhalt dieser Variable kannst du einfach in die DB speichern

  ShowMessage(formatDecodedTime(DecodeDateTime_Time(encodedTime)));
  ShowMessage(formatDecodedDate(DecodeDateTime_Date(encodedTime)));
end;

OrNEC 28. Feb 2013 15:32

AW: Aktuelles Datum in die DB speichern?
 
Meinst du das geht irgendwie nicht anders?

Arbeite inzwischen mit Params, aber das hilft auch nicht.

Delphi-Quellcode:
    // Tabelle media füllen
    sSQL := 'INSERT INTO media(mediatitle, description, status, isbn, edition, publicationyear, insertdate,';
    sSQL := sSQL + 'fk_publisher_id, fk_place_id, fk_category_id, fk_language_id,';
    sSQL := sSQL + 'fk_author_id, fk_entleiher_id) VALUES (:mediatitle, :description, :status, :isbn, :edition, :publicationyear, :insertdate, :fk_publisher_id, :fk_place_id, :fk_category_id, :fk_language_id, :fk_author_id, :fk_entleiher_id);';
    db.AddParamText(':mediatitle', TitleEdit.Text);
    db.AddParamText(':description', DescriptionMemo.Text);
    db.AddParamInt(':status', status);
    db.AddParamText(':isbn', ISBNEdit.Text);
    db.AddParamInt(':edition', varedition);
    db.AddParamInt(':publicationyear', varpublicationyear);
    db.AddParamText(':insertdate', Date("now")); // <--- hier immer noch der Fehler
    db.AddParamInt(':fk_publisher_id', Integer(PublisherComboBox.Items.Objects[PublisherComboBox.ItemIndex]));
    db.AddParamInt(':fk_place_id', Integer(PlaceComboBox.Items.Objects[PlaceComboBox.ItemIndex]));
    db.AddParamInt(':fk_category_id', Integer(CategoryComboBox.Items.Objects[CategoryComboBox.ItemIndex]));
    db.AddParamInt(':fk_language_id', Integer(LanguageComboBox.Items.Objects[LanguageComboBox.ItemIndex]));
    db.AddParamInt(':fk_author_id', Integer(AuthorComboBox.Items.Objects[AuthorComboBox.ItemIndex]));
    db.AddParamInt(':fk_entleiher_id', Integer(EntleiherComboBox.Items.Objects[EntleiherComboBox.ItemIndex]));

DeddyH 28. Feb 2013 15:35

AW: Aktuelles Datum in die DB speichern?
 
Was genau soll Date("now") bewirken? Oder meintest Du einfach nur Date?

mkinzler 28. Feb 2013 15:47

AW: Aktuelles Datum in die DB speichern?
 
Gibt es db.AddParamDate()?

OrNEC 28. Feb 2013 15:48

AW: Aktuelles Datum in die DB speichern?
 
Hab mit den Params inzwischen ein anderes Problem, die Strings werden abgeschnitten, es wird nur ca. die Hälfte des Wortes gespeichert. Ich werde verrückt. :roteyes:

OrNEC 28. Feb 2013 15:54

AW: Aktuelles Datum in die DB speichern?
 
Zitat:

Zitat von mkinzler (Beitrag 1205456)
Gibt es db.AddParamDate()?

Leider nicht, aber hab das Problem mit

Delphi-Quellcode:
db.AddParamText(':insertdate', FormatDateTime('dd-mm-yyyy', Now));
gelöst.

Hab aber ein anderes Problem, siehe Post #19 :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Seite 2 von 4     12 34      

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