Avatar billede karsten_larsen Praktikant
30. november 2005 - 15:24 Der er 13 kommentarer og
1 løsning

Ind sæt tid i database (mssql)

hmm - det vil bare ikke virke!

Tabellen er oprettet og tiden indsættes i en timestamp og det gøres med Store procedure. Nedenfor min streng

strSQL = "chain_members_insert " & var_chain_id & ", '" & var_fornavn & "', '" & var_efternavn & "', '" & var_email & "', " & var_phone & ", " & time()

Så kommer følgende fejl:

Line 1: Incorrect syntax near '22'

og tiden i dette eksempel er 15:22:48

?:-) karsten_larsen
Avatar billede dr_chaos Nybegynder
30. november 2005 - 15:27 #1
uden at skulle gøre mig alt for klog kan du prøve med
strSQL = "chain_members_insert " & var_chain_id & ", '" & var_fornavn & "', '" & var_efternavn & "', '" & var_email & "', " & var_phone & ", '" & time()&"'
Avatar billede softspot Forsker
30. november 2005 - 15:29 #2
Alternativt kan du bruge SQL Server's egen getdate() inde i din SP (så sparer du også den parameter :)).

strSQL = "chain_members_insert " & var_chain_id & ", '" & var_fornavn & "', '" & var_efternavn & "', '" & var_email & "', " & var_phone
Avatar billede fennec Nybegynder
30. november 2005 - 15:30 #3
Du kan også gøre brug af MS-SQL's egen dato funktion:

strSQL = "chain_members_insert " & var_chain_id & ", '" & var_fornavn & "', '" & var_efternavn & "', '" & var_email & "', " & var_phone & ", getDate()"

Så kommer du helt uden om ASP og de datokonverteringer der kan opstå.
Avatar billede fennec Nybegynder
30. november 2005 - 15:30 #4
... Samme som softspot's løsning. Jeg var bare forlangsom :o)
Avatar billede karsten_larsen Praktikant
30. november 2005 - 15:32 #5
dr_chaos: samme fejl

softspot og fennec, jeg vil gerne tidspunktet kan styres af bruger derfor time() indtil videre
Avatar billede karsten_larsen Praktikant
30. november 2005 - 15:33 #6
samme fejl

Implicit conversion from data type varchar to timestamp is not allowed. Use the CONVERT function to run this query.

Kender I den Convert funktion?
Avatar billede softspot Forsker
30. november 2005 - 15:34 #7
men hvis du kalder time-funktionen, så er det alligevel systemets tid... eller det var måske heller ikke det der var meningen? Hvad var så tanken med kaldet til time() til sidst i din SQL-sætning?
Avatar billede karsten_larsen Praktikant
30. november 2005 - 15:36 #8
senere skal jeg have lavet en select form time funktion men den har jeg ikke fået skrevet endnu, så kunne time fungere indtil da. Håber det gav lidt klarhed
:-) karsten_larsen
Avatar billede softspot Forsker
30. november 2005 - 15:41 #9
Ok, fair nok :)

Problemet er måske at timestamp i databasen ikke kan håndtere et tidspunkt i det format du sender det, men snarere forventer en 32-bit (eller måske endda 64-bit) long.
Avatar billede softspot Forsker
30. november 2005 - 15:46 #10
...og hvis det rent faktisk er en datetime (og ikke et timestamp), så skal du nok overføre den som en streng i din SQL og så udføre en CAST på den idet du indsætter den i tabellen. Noget i stil med dette:

INSERT INTO tabel(datoen)
VALUES(CAST(@theusertime AS datetime))
Avatar billede karsten_larsen Praktikant
30. november 2005 - 19:30 #11
softspot ->

Det er timestamp, som skabte problemet, ved at ændre det til datetime, var der ingen problemer.

Så nu virker det efter hensigten. Vil du lave et svar?

:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
30. november 2005 - 19:31 #12
og tak for hjælpen
Avatar billede softspot Forsker
30. november 2005 - 19:34 #13
Velbekomme :)
Avatar billede softspot Forsker
01. december 2005 - 22:37 #14
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester