Felmeddelandet ! Vad är datum för datatyp? Vad innehåller siga? Jag tolkar felmeddelandet som att datumet du angett ligger före eller efter intervallet som datatypen klarar av. Bakgrund är att jag vill ha datum från början på 1900 talet fram till och med 2040 Tror jag förstår vad du menar, tyvärr förstår jag inte varför det blir fel... :( Vad kan se så ska datetime klara datum från 1753 till 9999. Har du satt en break strax efter och sett att ditt statement är korrekt? Har du testat att köra det i query-analyzern, och debuggat det där? Mest troligt är att du använder ett datumformat som databasen tolkar fel. Använd formatet ISO 8601, eller svenskt datumformat, som följer den standarden. Löste det inne i sql 2000 databasen med en stored procedures, vet ej vad felet var.Date problem med insert, hjärnsläpp !
Unhandled Exception: System.Data.SqlClient.SqlException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
Function
Public Function korindatum(ByVal namn As String, ByVal siga As Integer, ByVal dbi As String)
Dim ska As String
Dim ds As New DataSet
Dim table As DataTable
Dim row As DataRow
Dim das1 As DataSet = New DataSet
Dim n As Integer
Dim nn As Integer
Dim cn As New SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & dbi & ";Data Source=SMO;Packet Size=4096;Workstation ID=SMO")
cn.Open()
Dim ret As Date
Dim thedate As Date
ret = thedate.AddDays(siga)
thedate = #1/1/1901#
Dim createStr As String = "insert into " & namn & "(Datum) values('" & thedate.AddDays(siga) & "')"
Dim createCMD As SqlCommand = New SqlCommand(createStr, cn)
'createCMD.CommandTimeout = 10000
createCMD.ExecuteNonQuery()
cn.Close()
End Function
Körning
For N = 1 To 100
korindatum("dexD", N, "forex_5")
'korindatum("dexD", N, "forex_5")
NextSv: Date problem med insert, hjärnsläpp !
/JohanSv:Date problem med insert, hjärnsläpp !
vilket gör att jag gör en enkel räknare, räknaren klarar att ta ut enstaka värden som nr 7000
men inte 1 tom 13 eller 1 tom 70000
ex for n = 1 to 20
siga är räknaren och är av integer, datum är datetime i sqlserv.
Hoppas att jag förklarade lite bättre
mvh Per HSv: Date problem med insert, hjärnsläpp !
/JohanSv: Date problem med insert, hjärnsläpp !
För det ser rätt ut - men det är ju omöjligt utan att testköra att allt innehåller rätt värden...
/EmmaSv: Date problem med insert, hjärnsläpp !
thedate.AddDays(siga).ToString("yyyy-MM-dd")
eller
thedate.AddDays(siga).ToString("d", New CultureInfo(1053))Sv:Date problem med insert, hjärnsläpp !
mvh per h
Tack för hjälpen