/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
MySql Timestamp og Now
Fra : Anders Holm Jensen


Dato : 07-08-03 21:36

Hej

Jeg prøver at overføre en parameter til en insert SQL query. sådan her :
ParamByName('Op_tidspunkt').AsDateTime := Now;

Op_tidspunkt er et MySql timestamp og Now skulle meget gerne returnere Date
og Time sammen.
Den DBX error : Invalid Field Type. fejl, når jeg prøver at sætte disse lig
hinanden.

Hvordan gør jeg dette ?

--
Hilsen AHJ



 
 
pigbear (08-08-2003)
Kommentar
Fra : pigbear


Dato : 08-08-03 14:37

Hej AHJ

Jeg synes at du skal bruge et tal i din mysql database isteden for. Det
er min erfaring at det virker meget bedre,
med tal i databaser, idet du også slipper for at tænke på dato opsætning
på pc´en mm.

Det jeg har gjort er at lave min dato om til et tal på denne måde:
Var
Dato : Integer;

dato:= Dato:=Trunc(Date-encodedate(1980,1,1));

dato indeholder nu værdien 8620

derefter sætter jeg dato ind sådan:

with frmTop.QTop Do
Begin
sql.Clear;
sql.Add('Insert into
Topp(Nr,Name,CreatedDateNr,CreatedDateTekst)');

sql.Add('Values(:Nr,:Name,:CreatedDateNr,:CreatedDateTekst)');
params[0].asinteger:=1;
params[1].asstring:='test'
params[2].asInteger:=Dato;
params[3].asstring:=DateToStr(Date);
prepare;
execsql;
sql.Clear;
sql.Add('Select * From Topp');
sql.Add('order by nr');
prepare;
Open;
end;

Et tal er ikke så godt for en bruger at se på, derfor gemmer jeg den
almindelig dato som fx 08-08-2003
i et tekstfelt på databasen. Så viser jeg altid den læsbare dato kolonne
i en stringgrid, men når brugeren ønsker at udvælge på dato så select´er
jeg på tal-datoen i databasen, for at få det rigtige query resultat !
Så skal man blot sørge for at opdatere begge felter når man laver om i
datoen

Håber dette hjælper


Mvh

PigBear

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Uffe Kousgaard (08-08-2003)
Kommentar
Fra : Uffe Kousgaard


Dato : 08-08-03 14:53

Du gemmer kun datoen, som ikke er det samme som et "timestamp", der er
både dato + klokkeslet.


pigbear (08-08-2003)
Kommentar
Fra : pigbear


Dato : 08-08-03 15:15

"Uffe Kousgaard" skrev d. 08-08-03 14:53 dette indlæg :
> Du gemmer kun datoen, som ikke er det samme som et "timestamp", der er
> både dato + klokkeslet.
>

Hej igen

Jo det er rigtig, men kan du ikke bare lave klokkeslet om til et tal
også, og så gemme det i en kolonne for sig selv i db !

PigBear

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Stig Johansen (09-08-2003)
Kommentar
Fra : Stig Johansen


Dato : 09-08-03 06:49

Anders Holm Jensen wrote:

> Hej
>
> Jeg prøver at overføre en parameter til en insert SQL query. sådan her :
> ParamByName('Op_tidspunkt').AsDateTime := Now;

Prøv:
ParamByName('Op_tidspunkt').AsSQLTimeStamp := Now;

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste