14. december 2003 - 16:18Der er
19 kommentarer og 1 løsning
Indsæt dato i database
Hvorfor kan jeg ikke få lov til at indsætte en dato i databasen med et felt af typen datetime. Jeg har et felt hvor jeg skriver f.eks. 14-12-2003 jeg får ingen fejl kode men den indsætter 10-07-1894 der er tale om et ganske almindeligt formular felt :
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Fejlen skyldes at Access bruger US eller UK dato format som er yyyy-mm-dd eller mm-dd-yyyy via SQL. Når man så indsætter en dato i dansk dato format, hvor dagen er først så bytter den rundt på månede og dag i datoen.
Der er en løsning og der er at bruge dato funktionerne Year, Month og Day til at formatere din dato.
Et eksemple bemærk Access bruger # omkring datoen:
Error Type: 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.
Synes godt om
Slettet bruger
14. december 2003 - 17:27#14
Hmm lyder meget mærkeligt da som eagkeeye også siger så bruger mssql ' omkring men så prøv uden og se hvad den så siger Sql = "Insert Into tblKegler ([Date]) values (" Sql = Sql & "" & CDate(Request.Form("Date")) & ")"
Jeg bruger følgende funktion til at lave en dato der kan indsættes i et smalldatetime felt på en SQL Server 2000 Der skal ' omkring : "'" + ConvertToSqlDate(now) + "',"
Function ConvertToSqlDate(dato) dim SQLYear,SQLMonth,SQLDay
SQLYear = Year(dato) SQLMonth = Month(dato) SQLDay = Day(dato) if SQLDay<10 then SQLDay = 0&SQLDay end if if SQLMonth<10 then SQLMonth = 0&SQLMonth end if ConvertToSqlDate = SQLYear&SQLMonth&SQLDay End Function
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.