Results 1 to 7 of 7

Thread: datum en tijd weer terughalen uit SQLite

  1. #1

    datum en tijd weer terughalen uit SQLite

    Ik wil graag een datum en tijd in een SQlite database opslaan en later weer terug halen. De datum is geen probleem maar de bijbehorende tijd lukt mij niet.
    In de database heb ik het veld gedefinieerd als Real
    Als ik hem opsla als float zie ik dat er keurig een komma wordt gezet, maar bij het weer opvragen van deze waarde ontbreken de decimalen.
    Als ik hem als datetime opsla zie ik dat de tijd ook keurig in de databse komt maar...... bij opvragen ontbreekt de tijd.
    Click image for larger version. 

Name:	Knipsel2.PNG 
Views:	122 
Size:	2.3 KB 
ID:	8096

    opslaan:
    Code:
    //FDQueryInsertPrint.ParamByName('WaneerPrint').AsDateTime := Now;// DateTimeToJulianDate(Now);
        FDQueryInsertPrint.ParamByName('WaneerPrint').AsString := FloatToStr(Now);
    ophalen uit de database:
    Code:
                             Printer.Canvas.TextOut(2100, (230 + (Kpix*130)), (DateToStr(FDQueryPrintSelect.FieldByName('WaneerPrint').AsFloat)));
                             Printer.Canvas.TextOut(3470, (230 + (Kpix*130)), (FloatToStr(FDQueryPrintSelect.FieldByName('WaneerPrint').AsFloat)));
    resultaat van mijn printopdracht:
    Click image for larger version. 

Name:	Knipsel.PNG 
Views:	117 
Size:	5.7 KB 
ID:	8097

    Ziet iemand wat ik verkeerd doe ?

  2. #2
    Is dit misschien iets?

    Code:
    SELECT
     date(d1),
     time(d1)
    FROM
     datetime_real;
    https://www.sqlitetutorial.net/sqlite-date/

    Misschien kun je het ook direct als AsDateTime ophalen?

  3. #3
    Quote Originally Posted by luigi View Post
    Is dit misschien iets?

    Code:
    SELECT
     date(d1),
     time(d1)
    FROM
     datetime_real;
    https://www.sqlitetutorial.net/sqlite-date/

    Misschien kun je het ook direct als AsDateTime ophalen?
    het bovenste gedeelte kan ik niet toepassen in de query, immers "from" is toch de tabel waar je de gegevens uithaal ?

    AsDateTime ophalen geeft een fout melding
    Code:
    (DateTimeToStr(FDQueryPrintSelect.FieldByName('WaneerPrint').AsDateTime)));
    Click image for larger version. 

Name:	foutcode.PNG 
Views:	112 
Size:	8.8 KB 
ID:	8098

    zag trouwens dat ik door het vele proberen DateToStr had staan ipv DatTimeToStr, maar dit heeft geen effect.
    Code:
    (DateTimeToStr(FDQueryPrintSelect.FieldByName('WaneerPrint').AsFloat)));
    geeft aleen de datum en niet de tijd

  4. #4
    Quote Originally Posted by Ronaldinho View Post
    AsDateTime ophalen geeft een fout melding
    Code:
    (DateTimeToStr(FDQueryPrintSelect.FieldByName('WaneerPrint').AsDateTime)));
    Krijg je die foutmelding ook als je het veld vult met de volgende regel?
    Code:
    FDQueryInsertPrint.ParamByName('WaneerPrint').AsDateTime := Now;
    Want dan zou het allemaal door de datum-magie van SQLite geregeld moeten worden

  5. #5
    Rik , deze opdracht geeft dezelfde foutmelding.

    Ik vind het toch eigenaardig dat in de database wel alle cijfers achter de komma zichtbaar zijn net als de tijd die keurig achter de datum komt te staan, je krijg het alleen niet terug uit de database

  6. #6
    Schijnbaar is het wel volgens de documentatie.
    Real slaat alleen de dag op.
    Text en Integer slaan ook de tijd op.

    REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
    https://www.sqlite.org/datatype3.html

  7. #7
    Ik heb het opgelost door er een text-veld van te maken en als string op te slaan en terug te halen.

    opslaan,
    FDQueryInsertPrint.ParamByName('WaneerPrint').AsSt ring := FormatDateTime('YYYY-MM-DD hh:mm', Now);
    weer uit de database vandaan halen,
    Printer.Canvas.TextOut(2100, (230 + (Kpix*130)), (FDQueryPrintSelect.FieldByName('WaneerPrint').AsS tring));
    maar ik blijf het typisch vinden dat de getallen uit de database alleen als integere waardes op te vragen zijn.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •