Results 1 to 3 of 3

Thread: Firedac AsDateTime parameter

  1. #1

    Firedac AsDateTime parameter

    Hallo allemaal,

    Voor de connectie met de firebird database ben ik overgestapt van de IBX componenten set naar de FireDac componenten.
    Nu heb ik een tabel waarin ik een datumtijd veld opsla.
    In de database is deze gedefinieerd als een Timestamp.
    Wanneer ik via mijn Delphi code een record probeer op te slaan maak ik gebruik van de volgende code.
    Code:
       Query.ParamByName('Datum').AsDateTime :=now();
    Als ik dit uitvoer krijg ik een foutmelding dat .AsDateTime de afwijkt van de velddefinitie van de database en dat hiervoor de query opnieuw geprepareerd moet worden.
    Ik heb dit nu opgelost door .Value te gebruiken voor het opslaan van de datum tijd.
    Maar ik heb liever dat ik snap hoe ik een datumtijd veld op de juiste manier opsla.

    Overigens krijg ik een zelfde soort foutmelding wanneer ik een real wil opslaan via de method .AsFloat.

  2. #2
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,292
    Wat ik vaak in geval van twijfel doe (met ADO in mijn geval), is een SELECT * query schrijven
    en dan (@design time) alle velden door Delphi in laten lezen zodat het persistent fields worden.
    Op die manier weet ik hoe Delphi bepaalde veldtypen zelf ziet (ik had iets soortgelijks met
    NVARCHAR een tijdje terug, bleek dat Delphi die als WideString ziet).

    Geen idee of zoiets ook (eenvoudig) met FireBird want daar heb ikzelf nooit mee gewerkt.
    TMemoryLeak.Create(Nil);

  3. #3
    Bedankt voor de tip, is idd zo dat de Delphi datatype afwijken van de Firebird definities.
    De IBX componenten set ging hier iets minder stringent mee om.

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
  •