webForumDet fria alternativet

Type mismatch

ASPur ASP

7 svar · 516 visningar · startad av Inferis

Medlem sedan sep. 2000670 inlägg
Frågan#1

Microsoft VBScript runtime error '800a000d'

Type mismatch

/paging.asp, line 15

Testar denna kod som LarsG har skrivit, men varför blir det fel?
Rad 15 är pages = (rs(0)-1)/pageSize + 1

pageSize = 10
page = request.querystring("page")
if page = "" then page = 1
Set MinConn = Server.CreateObject("Adodb.Connection")
MinConn.open = "driver={MySQL ODBC 3.51 Driver}; server=xx.se; uid=xx; pwd=xx; database=xx; option=3"
sql = "select count(*) from T_List" 
'behövs för att beräkna antal sidor
set rs = MinConn.execute(SQL)
pages = (rs(0)-1)/pageSize + 1

SQL = "Select * from T_List order by ID desc limit " & (page-1)*pagesize & "," & pageSize

Set Rs = MinConn.Execute(SQL)

Do until Rs.Eof

response.write ""& RS("ID") &" <br>"

RS.movenext
loop
RS.close : Set Rs = Nothing
MinConn.close : Set MinConn = Nothing
'skriv ut länkar

if  page > 1 then
    response.write "<a href='paging.asp?page=" & page - 1 & "'>Bakåt </a>"
end if

if page < pages then
response.write "<a href=paging.asp?page=" & page + 1 & ">Framåt </a>"
end if
Medlem sedan juni 200032 969 inlägg
#2

Prova att typkonvertera.

pages = (Clng(rs(0))-1)/pageSize + 1
Medlem sedan sep. 2000670 inlägg
#3

Hmm. Det fungerade.

Är lite osäker på databasen.
Ska en primary key (id) i MySQL vara id[int(11), NOTNULL ?

Medlem sedan juni 200032 969 inlägg
#4

Ja, det kan väl passa?

Medlem sedan sep. 2000670 inlägg
#5

Vad betyder int(10) ?
Tack förresten @nders!

Medlem sedan juni 200032 969 inlägg
#6

Fältstorleken (10/11/whatever) är nog irrelevant.

A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Medlem sedan sep. 2000670 inlägg
#7

Kollade på en annans databas och där var varje ID int(10) medans dem jag har gjort är int(11)
Trodde det var det som var skillnaden.
För koden ovan fungerar perfekt utan att typkonvertera på den andra databasen nämligen.

Medlem sedan juni 200032 969 inlägg
#8

Kollade på en annans databas och där var varje ID int(10) medans dem jag har gjort är int(11)
Trodde det var det som var skillnaden.

Ok, det är det inte.

http://www.webforum.nu/showthread.php?p=983445#post983445

135 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)