webForumDet fria alternativet

BOF och EOF

ASP

27 svar · 565 visningar · startad av DiDjo · sida 2 av 2

Frågan, av DiDjo

Jag får detta meddelande. ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /!egna/index.asp, line 0 Och den visar allt fram tills denna kod så den måste vara felet! <%Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (.mdb)}; DBQ=" & se

Läs frågan i sin helhet →
Medlem sedan jan. 2003438 inlägg
#21

Gjorde några små ändringar. Får inga fel medd. Hänvisad till index.asp - Funkar det inte så hoppas jag någon av de stabila killarna kan hjälpa dig :) Ganska ny på detta, men gjorde ett försök!

<%
namn 	= Request.Form("anv")
losen 	= Request.Form("los")
humor 	= Request.Form("humor")

if Len(losen) <1 OR Len(namn) <1 then
session("felet") = "Du måste skriva in både användarnamn och lösenord"
Response.Redirect("index.asp")
end if

Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb")&";"
SQL = "SELECT * FROM anv WHERE anv = '"&namn&"' AND Losen = '"&losen&"' "
set RS = Connection.Execute(SQL)

IF NOT RS.EOF then
session("inloggad") = "ja"
Session("fel") = ""
session("anv") = rs("anv")
session("user") = rs("anv")
session("vaktare") = rs("vaktare")
if rs("tid")&"" = "" then
session("tid")=0
else
session("tid")=rs("tid")
end if

Response.Cookies("didjocom")("anv") = rs("anv")
Response.Cookies("didjocom").Expires = "December 10, 2010"

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("test.mdb")&";"
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv WHERE anv = '"&namn&"' AND Losen = '"&losen&"' "
rs.Open Addera, Connect, 3, 3 

rs("online") = "1"
rs("inlogg")= rs("inlogg") +1
rs("senaste")= now
rs("loggain")= now
rs("humor")= Request.Form("humor")

rs.update

set Connect = Server.CreateObject("ADODB.Connection")
Connect.Provider = "Microsoft.Jet.OleDB.4.0" 
Connect.DataSource = Server.MapPath("test.mdb")
Connect.Open

Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"

Set rs1 = Connect.Execute (Addera) 

   Connect.Execute "UPDATE didjo SET inloggn = inloggn + 1;", , 128

Response.Redirect("start.asp")

Else
Session("fel") = "Du skrev fel lösenord eller användarnamn!"
Response.Redirect("index.asp")
end if

RS.close
rs1.close
Connection.Close
connect.Close
%>
Medlem sedan nov. 2002544 inlägg
#22

Tack sannyw men jag får detta fel nu:

Microsoft VBScript runtime error '800a01be' 

Object doesn't support named arguments: 'Connect.DataSource' 

/!egna/loggain.asp, line 49
Medlem sedan jan. 2003438 inlägg
#23

Du tänkte på att ändra databasen?

Ändrade följande:
dbq=" & Server.MapPath("test.mdb")&";"
"Set rs1 = Connect.Execute Addera, , 1" (Addera)

Medlem sedan nov. 2002544 inlägg
#24

så här eller:

set Connect = Server.CreateObject("ADODB.Connection")
Connect.Provider = "Microsoft.Jet.OleDB.4.0" 
Connect.dbq=" & Server.MapPath("****")&";" 
"Set rs1 = Connect.Execute Addera, , 1" (Addera)

Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"

Men då får jag:

Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/!egna/loggain.asp, line 50 

Connect.dbq=" & Server.MapPath("****************")&";"
--------------------------------^
Medlem sedan jan. 2003438 inlägg
#25

Förlåt, jag försökte visa förändringarna med fet text.

Strulade till det:

Jag menade att du var tvungen att byta test.mdb mot vad din databas heter och det var frågan.

connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("test.mdb")&";"

Sedan ändrade jag den andra raden till bara:

Set rs1 = Connect.Execute (Addera)

Se det jag skickade tidigare.

Medlem sedan jan. 2003438 inlägg
#26

Måste iväg nu, hoppas det löser sig. Du får väl skricka efter LarsG, annars. Säg något som den killen inte kan - grym!

Korta och raka svar.

Medlem sedan nov. 2002544 inlägg
#27

jo jag ändrade till min! Annars skulle den säga att den inte hittade databasen...

Medlem sedan nov. 2002544 inlägg
#28

Jaaaaaaa! Det fungerar nu! Så här ser koden ut:

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databasen.mdb")&";"
Set rs1 = Connect.Execute (Addera)

Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"

 

   Connect.Execute "UPDATE didjo SET inloggn = inloggn + 1;", , 128

Response.Redirect("start.asp")
316 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
188 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
188 ms — ändringar (db)