webForumDet fria alternativet

problem...

2 svar · 141 visningar · startad av tronez

tronezMedlem sedan juli 2001657 inlägg
#1

Jag har ett litet problem med den här koden:

<%

	Set Connect = Server.CreateObject("ADODB.Connection")
    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/data.mdb")&""
	
	SQL = "SELECT * FROM user_info WHERE email = '" & Request.Form("email") & "'"
	Set RecSet = Connect.Execute(SQL)

user = RecSet("user")
losen = RecSet("losen")
email = Request.Form("email")

If Not RecSet.EOF then

	Set Mail= Server.CreateObject("CDonts.Newmail")
	Mail.subject = "Lösenord"
	Mail.to = email
	Mail.from = "info@trones2002.tk"
	Mail.Subject = "Användaruppgifter"
	Mail.body = "Ditt användarnamn: " & user & vbcrlf & "Lösenord: " & losen & vbcrlf & vbcrlf & "Varsågod, här kommer dina beställda användaruppgifter"

Mail.Send
Set Mail = Nothing

Response.Redirect "sending.asp?to="&Request.Form("email")&""

else
Response.Redirect "error6.asp"	
End If

Connect.Close
Set Connect = Nothing
Set RecSet = Nothing
%>

Jag får felmeddelandet:

Error Type:
ADODB.Field (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/test/skicka_losen.asp, line 17

Det går att skicka meddelandet när det finns en användare som har en email adress som ligger i databasen, men det blir error när det inte finns, vad är det för fel?

PatrikBMedlem sedan mars 20002 713 inlägg
#2

Du försöker att använda ett tomt recordset.

Kika på raderna innan din check: If Not RecSet.EOF

där använder du så att säga recordsetet INNAN du kollat om det är tomt.

Flytta in dessa rader i If-satsen så funkar det.

cya,
PatrikB

tronezMedlem sedan juli 2001657 inlägg
#3

Ahhh.... nu funkar det =)
Man tackar för det snabba svaret PatrikB

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb