Det är så att när man har loggat in på sidan så blir det så här:
index.asp?action=login
men om jag skulle ta bort
?action=login
och trycker enter så laddas index.asp och detta felmess kommer upp.
ADODB.Field error '80020009'
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/index.asp, line 0
Skulle vilja få bort detta. jag postar lite kod som jag använder.
<%
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb")
strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password"))
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open strSQL, Con
If not recset.eof then
Session("authentication") = "yes"
Session("id") = recset("id")
end if
%>
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb")
strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password"))
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open strSQL, Con
if recset.eof or recset.bof then
response.write "Du är inte riktigt klok..."
end if
If not recset.eof then
Session("authentication") = "yes"
Session("id") = recset("id")
end if
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("client.mdb")
strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password"))
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open strSQL, Con
If RecSet.EOF Then
Response.Write("Finns ingen post")
Else
Session("authentication") = "yes"
Session("id") = RecSet("id")
End If
RecSet.Close: Set RecSet = Nothing
Con.Close: Set Con = Nothing
Samt även att du innan du kör din inloggningsfråga mot databasen kan du ju kolla att fälten innehåller något, typ:
If Request.Form("client") <> "" and Request.Form("password") <> "" then
'Kör din databashämtning...
Else
response.write "Din attans pappskallle, fyll i lösen o användarid! :) "
End If
Skulle någon vilja vara nsäll och skriva om koden. Eftersom jag endast vill logga in och sedan så skrivs det ut i övrehögra hörner vad man heter med hjälp av <%=RecSet("client")%>
Det kan hända att jag har skrivit databas koden fel. för den ska ju endast öppna så att man kan hämta anv. och lösen. den ska ju inte göra nått annat.