med objRS och Response.Cookies("tubsockor")("namn") = RS("Namn") får jag samma felmess
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'RS'
/vitatubsockorweb/kollavtxinlogg.asp, line 9
27 svar · 725 visningar · startad av magnusfeldth · sida 2 av 2
Jag försöker genom att använda cookies och if-satser hålla en användare inloggad. Den kollar om sessionen inte är online, och är den inte det, men cookien "inloggad"=ja så ska den kolla om cookievärdena för användarnamn och lösenord finns i databasen, och om de finns så ska den skapa sessionen igen. Kod: <% if Session("VTXOnline") <> "Ja" and Request.Cookies("tubsockor")("inloggad") = "Ja"
Läs frågan i sin helhet →med objRS och Response.Cookies("tubsockor")("namn") = RS("Namn") får jag samma felmess
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'RS'
/vitatubsockorweb/kollavtxinlogg.asp, line 9
Inte RS, inte RecSet, endast objRS, i alla fall om koden ser ut som min gör ovan.
Annars måste du visa mer kod.
<%
if Session("VTXOnline") <> "Ja" and Request.Cookies("tubsockor")("inloggad") = "Ja" then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("sockdb/vtforum.mdb")
strSQL = "SELECT 1 FROM sockuser WHERE Usernamn = '" & f(Request.Cookies("tubsockor")("usernamn")) & "' AND Losenord = '" & f(Request.Cookies("tubsockor")("losenord")) & "'"
set objRS = Connect.Execute (strSQL)
if not objRS.EOF Then ' Inloggningen är korrekt
Session("VTXOnline") = "Ja"
Response.Cookies("tubsockor")("namn") = RS("Namn")
Response.Cookies("tubsockor")("usernamn") = RS("usernamn")
Response.Cookies("tubsockor")("epost") = RS("Epost")
Response.Cookies("tubsockor")("losenord") = RS("losenord")
Response.Cookies("tubsockor")("inloggad") = "Ja"
Response.Cookies("tubsockor").Expires = DateAdd("d", 5, Date)
End if
objRS.Close : set objRS = Nothing
Connect.Close : set Connect= Nothing
End if
function f(strText)
f = Replace(strText, "'", "''")
end function
%>
Fulla koden, precis som den du skrivit ovan.
Bort med RS, in med objRS.
Recordsetobjektet heter objRS, ingenting annat.
Se min kodredigering ovan...
Justerat enligt ovan nu, men då kommer detta:
ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/vitatubsockorweb/kollavtxinlogg.asp, line 9
Det vill tydligen inte att det skall funka!
Jepp, och det är inte så konstigt när man tittar på vad jag angav i SELECT-frågan. Jag skrev att endast siffran 1 ska hämtas (jag tänkte väl inte på att du ville använda några värden från recordsetet). Byt 1 till * (eller ännu hellre, endast de fält du behöver använda) i SQL-frågan.
YES! Finally, nu funkar det! Thanks @nders! :e
(Anslutningsfråga, när man skall ange vilka fält som man ska hämta ur, behöver man även ange ID-kolumnen? Dum fråga kanske)
Om man vill hämta ID-värdet så måste du ange även det fältet ja. ID-kolumnen är ett fält som precis vilket annat som helst.
Mvh