Aritmetiskt dataspillsfel...

.NET

3 svar · 395 visningar · startad av cyprys

Medlem sedan dec. 20003 563 inlägg
Trådstart#1

...vid konvertering av expression till datatypen int.

Använder: http://www.15seconds.com/issue/021210.htm

Public Function InserBook(ByVal title As String, ByVal info As String, ByVal headgenre As Integer, ByVal genre As Integer)
            [b]Dim userID As integer = GetTripleDESEncryptedCookieValue("Cook_ID")[/b]
            Dim Command As String
            Command = "INSERT INTO tbl_books (col_title, col_info, col_publiced, col_writer, col_status, col_genre_1, col_genre_2) VALUES(" & _
            "'" & title & "', " & _
            "'" & info & "', " & _
            "'" & DateTime.Now() & "', " & _
            "" & userID & ", " & _
            "2, " & headgenre & ", " & genre & "" & _
            ");"
            'Return Command
            Return RunNonQuery(Command)
        End Function

Ctype på stängen funkar inte heller. Hur ska jag lyckas få in den som vanlig INT i databasen?
Att dimma den som int eller string e inga problem men kolumnen av typ INT vill inte.
Någon som känner till?

Medlem sedan apr. 20012 266 inlägg
#2

fungerar inte Int32.Parse() eller någon av Convert funktionerna?

Medlem sedan dec. 20003 563 inlägg
#3

Nope. Det gör ju inte det.
Om jag skriver ut SQL-satsen så ser allt bra ut. Siffrorna ser ut som de ska. Även om jag skriver ut cookien på annat sätt så funkar det.
Det borde ju ha något med datatypen som det står.

Medlem sedan dec. 20003 563 inlägg
#4

Hittade felet.

-2147217833 (0x80040e57) A literal value in the command overflowed the range of the type of the associated column.

Talet var för stort.

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)