Nej tal större än 2^32 - 1 går inte att lagra med 4 byte.
Om du använder varchar(15) t.ex så slipper du det andra problemet också.
Flyttas från ASP
Databaser & SQLur Databashanterare & SQL
5 svar · 219 visningar · startad av Method
Min sql:
INSERT INTO tblWinningTicket (fld_WinTicketNumber, fld_LotteryID) VALUES (4654654654646, 1)
Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
/visa/admin/winningNo.asp, line 176
intLottery = Request.Form("frmLottery")
intWinno = Request.Form("frmWinNo")
If Request.QueryString("perform") = "addNumber" Then
SQL = "INSERT INTO tblWinningTicket " &_
" (fld_WinTicketNumber, " &_
" fld_LotteryID) " &_
" VALUES " &_
" (" & int(intWinno) & "," &_
" " & int(intLottery) & ")"
Response.Write "sql:<br> " & SQL & "<br><br>"
objconn.Execute(SQL)
Response.Redirect("winningno.asp")
End if
Varför blir det bara så när man har 11 siffror eller mer? går det inte att ha fler siffror
båda fälten är tal och långt heltal i access 2002
Sen en bifråga hur kommer det sig att första nollan försvinner om man skriver tex 0708
Tackar
Nej tal större än 2^32 - 1 går inte att lagra med 4 byte.
Om du använder varchar(15) t.ex så slipper du det andra problemet också.
Flyttas från ASP
Men kan jag jämföra ett varchar(15) till att jämföra mot talfält i andra tabeller?
varchar(15) är det samma som text?
mvh
jonas
Det borde väl gå om du trixar lite: cint("textfältet") + intfältet
Du får använda varchar i dom tabellerna också eftersom det är samma typ av värden du vill kunna lagra väl.
Annars går det att använda double för att lagra dom stora talen.