S sudden Medlem sedan okt. 2002 341 inlägg Frågan 27 jan. 2003 16:33 #1 Hejsan!
när jag kör det här scriptet:
if request.querystring("page") = "checkuser" then
set conn = server.createobject("adodb.connection")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")
set rs = server.createobject("adodb.recordset")
set rs2 = server.createobject("adodb.recordset")
SQL = "Select * from tblUser where losen = '" & request.form("pass") & "'"
rs.open SQL, conn, 3, 3
if rs.eof then
'felaktig inloggning
session("login") = "no"
response.redirect("index.asp")
else
session("login") = "True"
SQL2 = "Update tblStatus Set userStatus = (userStatus + 0.20) Where UserID = '" & rs ("UserID") & "'"
rs2.open SQL2, conn, 3, 3
response.redirect "index.asp?page=main"
end if
conn.close
rs.close
set rs = nothing
end if
%>
Så får jag det här meddelandet :
Feltyp:
Microsoft JET Database Engine (0x80004005)
Operationen måste använda en fråga som kan uppdateras.
/WW II online/index.asp, line 60
Vad kan det vara för fel?
Tacksam för svar :e :e
Peeer Medlem sedan mars 2002 5 907 inlägg Om du söker lite på ditt felmeddelande så hade du kommit fram till att mappen databasen ligger i är skrivskyddad. :)
S sudden Medlem sedan okt. 2002 341 inlägg Nu få jag detta meddelande:
Feltyp:
Microsoft JET Database Engine (0x80040E07)
Typblandningsfel i villkorsuttryck.
/WW II online/index.asp, line 66
if request.querystring("page") = "checkuser" then
set conn = server.createobject("adodb.connection")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")
set rs = server.createobject("adodb.recordset")
set rs2 = server.createobject("adodb.recordset")
SQL = "Select * from tblUser where losen = '" & request.form("pass") & "'"
rs.open SQL, conn, 3, 3
if rs.eof then
'felaktig inloggning
session("login") = "no"
response.redirect("index.asp")
else
session("login") = "True"
SQL2 = "Update tblStatus Set userStatus = (userStatus + 0.20) Where UserID = '" & rs ("UserID") & "'"
rs2.open SQL2, conn, 3, 3
response.redirect "index.asp?page=main"
end if
conn.close
rs.close
set rs = nothing
rs2.close
set rs2 = nothing
end if
cyprys Medlem sedan dec. 2000 3 563 inlägg SQL2 = "Update tblStatus Set userStatus = (userStatus + 0.20) Where UserID = " & rs ("UserID")
S sudden Medlem sedan okt. 2002 341 inlägg Hmm...får fortfarande sama fel...att operationen måste använda en fråga som kan uppdateras!
cyprys Medlem sedan dec. 2000 3 563 inlägg Är userstatus integer eller string?
vid string så ska ' ' var runt
Vid integer så ska inga sånna finnas runt.
S sudden Medlem sedan okt. 2002 341 inlägg Hur ser man om det är en integer eller string?
Poffe Medlem sedan apr. 2002 2 743 inlägg är det en siffra är det en integer är det en bokstav är det en string
crisse6 Medlem sedan dec. 2000 2 526 inlägg om jag ska vara petnoga... sa beror det pa typen i databasen, det kan fortfarande vara siffra i ett textfalt ;)
cyprys Medlem sedan dec. 2000 3 563 inlägg Om man ska vara noga så består en integer av 2 bytes med ett värde mellan -32 768 till 32 767, medans en sträng kan vara hur stor som helst, beroende på längden, men med en startstorlek på 10 bytes.
Därför kan man pressa in siffror i en sträng men inte bokstäver i en integer.
r: Har jag för mig :stud :birp :birp
S sudden Medlem sedan okt. 2002 341 inlägg Jag hade samma problem för länge sen...men jag kommer inte ihåg hur jag gjorde för att ta bort skrivskydet?
Att bara gåin på egenskaper och avmarkera skrivskyddet går ju inte!
@nders Medlem sedan juni 2000 32 967 inlägg
sudden skrev:
Hmm...får fortfarande sama fel...att operationen måste använda en fråga som kan uppdateras!
Då provar jag en gång till då: http://www.webforum.nu/showthread.php?s=&postid=544001#post544001
S sudden Medlem sedan okt. 2002 341 inlägg Tack Anders...nu funkar det alldeles utmärkt ;)
cyprys Medlem sedan dec. 2000 3 563 inlägg Andra gången gillt? §e §jr