Avatar billede cult Nybegynder
15. januar 2007 - 19:06 Der er 10 kommentarer og
1 løsning

Problem med Insert Datetime

Hejsa...

Jeg har et problem med at indsætte en dato og et tidspunkt i en Datetime kolonne på SQL 2005 Express.

Det jeg førsøger at indsætte er:
strDate = FormatDateTime(Now, vbShortDate) & " " & FormatDateTime(Now, vbLongTime)
Hvilket er præcis samme format som det der står i databasen.

Dog får jeg denne fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

Nogen der kan hjælpe? :)

På forhånd tak!
Avatar billede arne_v Ekspert
15. januar 2007 - 19:11 #1
1) brug SqlClient og ikke ODBC mod SQLServer
2) brug parameters så du undgår format problemer
Avatar billede arne_v Ekspert
15. januar 2007 - 19:12 #2
hm - hvis det ikke er .NET så er det ægte OLE DB fremfor ODBC (SqlClient er en .NET ting)
Avatar billede compilos Nybegynder
15. januar 2007 - 19:15 #3
Kan det ikke være fordi, - man prøver at indsætte en "string" i en "date" felt !
Avatar billede a1a1 Novice
15. januar 2007 - 19:18 #4
du kan evt. bare skrive (i din sql sætning):
sql = "INSERT INTO <table> (datefield) VALUES (GETDATE()) "

Ellers bør du lave det om til "SQL format" dvs yyyy-mm-dd (år-måned-dato ~ US datoformat)

;o)
Avatar billede cult Nybegynder
15. januar 2007 - 19:25 #5
Så simpelt kan det gøres ;)

arne_v, nu fik jeg så det her til at virke med min nuværende connection, men er der andre fordele ved at OLEDB frem for ODBC?
Avatar billede arne_v Ekspert
15. januar 2007 - 19:27 #6
bedre performance mener jeg
Avatar billede arne_v Ekspert
15. januar 2007 - 19:28 #7
bemærk at du også kan bruge parameters med ODBC
Avatar billede cult Nybegynder
15. januar 2007 - 19:29 #8
Det vil jeg se på... Hvis man kan hive lidt mere ydelse ud af SQL Server ville det jo ikke skade :)

Mange tak for hjælpen til jer alle!
Avatar billede a1a1 Novice
15. januar 2007 - 19:35 #9
sæl tak ;o)
Avatar billede cult Nybegynder
15. januar 2007 - 20:15 #10
arne, kan du huske at du for nylig hjalp mig med SCOPE_IDENTITY()? (http://www.eksperten.dk/spm/754390), hvor jeg endte med at lave en ny connection for at få det til at virke?

Interessant nok, så virker det uden en ekstra connection med OLE DB, altså var der en et problem med ODBC og SCOPE_IDENTITY().
Avatar billede arne_v Ekspert
15. januar 2007 - 23:05 #11
eller så har 1 connection i OLE DB laget resulteret i 2 connections i ODBC laget
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
Computerworld tilbyder specialiserede kurser i database-management

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