webForumDet fria alternativet

Aritmetiskt dataspillsfel...

.NET

3 svar · 372 visningar · startad av cyprys

Medlem sedan dec. 20003 563 inlägg
Frågan#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.

361 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
237 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)