webForumDet fria alternativet

Om användaren inte finns

ASP

5 svar · 502 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Har denna kod för att kolla om användaren finns i db eller inte

if view.EOF then
response.redirect "nouser.asp"
else
do until view.eof or view.bof

resten av sidan

view.MoveNext: Loop
end if

Om användaren inte finns får jag
ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/view.asp, line 0

När man ska skickas till nouser.asp istället

Medlem sedan juni 200032 967 inlägg
#2

Då har du väl någon annan kod ovanför din if-sats?

Medlem sedan feb. 20032 027 inlägg
#3

Detta är allt ovanför

<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/functions.asp" -->
<!-- #include virtual="/include/variabler.asp" -->
<!-- #include virtual="/include/rs.asp" -->
<%

Tstamp=Now()
if Session("userID") <> "" then
objConn.Execute("UPDATE tblUsers SET TStamp = '"& Tstamp &"' WHERE userID = " & Session("UserID"))
else
response.redirect "/nosession.asp" 
end if

uid=request.querystring("userID")
Set vipRS=objConn.Execute("Select vip, color From tblUsers WHERE userID="& uid &"")
Set vipRS1=objConn.Execute("Select vip From tblUsers WHERE userID="& uid &"")
Set view=objConn.Execute("Select * From tblUsers WHERE userID="& uid &"")
Set tRS=objConn.Execute("Select u.userID, u.username, t.tipsadAv, t.anvandare From tblTips t left join tblUsers u ON u.userID = t.tipsadAv WHERE u.userID = " & uid & "")
Set Pic=objConn.Execute("Select * From tblUsers WHERE userID="& uid &"")
set validRS=objConn.Execute("select validUser from tblUsers where UserID="& uid &"")
Set gallery=objConn.Execute("SELECT * FROM tblUsers t INNER JOIN tblUsers_Galleri g ON t.userID = g.agare WHERE agare ="& uid &" and kategori='"& request.form("galleriKategori") &"' ORDER BY g.bildID DESC")

Function splitta(ord)
	Set z = new Regexp
	with z
		.Pattern = "(\w{10})"
		.Global = true
	end with

	Set y = new Regexp
	with y
		.Pattern = "\n"
		.Global = true
	end with

	ord = z.Replace(ord, "$1 ")
	ord = y.Replace(ord, "<br />")
	response.write(ord)
End Function
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title><%=view("username")%>s krypin</title>

<link type="text/css" rel="StyleSheet" href="/include/css/style.css">
Medlem sedan juni 200032 967 inlägg
#4

Ja, och där använder du ju data från recordsetet!!!

<title><%=view("username")%>s krypin</title>

börja med kollen på "view", ska du göra redirect finns ju ingen anledning överhuvudtaget att exekvera 116 SQL-frågor till.

Medlem sedan dec. 19996 721 inlägg
#5

En liten kommentar, i all välmening :)

Set vipRS=objConn.Execute("Select vip, color From tblUsers WHERE userID="& uid &"")
Set vipRS1=objConn.Execute("Select vip From tblUsers WHERE userID="& uid &"")
Set view=objConn.Execute("Select * From tblUsers WHERE userID="& uid &"")
Set tRS=objConn.Execute("Select u.userID, u.username, t.tipsadAv, t.anvandare From tblTips t left join tblUsers u ON u.userID = t.tipsadAv WHERE u.userID = " & uid & "")
Set Pic=objConn.Execute("Select * From tblUsers WHERE userID="& uid &"")
set validRS=objConn.Execute("select validUser from tblUsers where UserID="& uid &"")
Set gallery=objConn.Execute("SELECT * FROM tblUsers t INNER JOIN tblUsers_Galleri g ON t.userID = g.agare WHERE agare ="& uid &" and kategori='"& request.form("galleriKategori") &"' ORDER BY g.bildID DESC")

Här ställs samma fråga till databasen 4 gånger (SELECT .... From tblUsers WHERE userID="& uid). Hämta värdena endast en gång och lägg dem i variabler i stället.

Medlem sedan feb. 20032 027 inlägg
#6

fick ner raderna en del, hade lite onödig kod

<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/functions.asp" -->
<!-- #include virtual="/include/variabler.asp" -->

<%uid=request.querystring("userID")
Set view=objConn.Execute("Select * From tblUsers WHERE userID="& uid &"")

Tstamp=Now()
if Session("userID") <> "" then
objConn.Execute("UPDATE tblUsers SET TStamp = '"& Tstamp &"' WHERE userID = " & Session("UserID"))
else
response.redirect "/nosession.asp" 
end if

if view.EOF then
response.redirect "nouser.asp"
else

Function splitta(ord)
	Set z = new Regexp
	with z
		.Pattern = "(\w{10})"
		.Global = true
	end with

	Set y = new Regexp
	with y
		.Pattern = "\n"
		.Global = true
	end with

	ord = z.Replace(ord, "$1 ")
	ord = y.Replace(ord, "<br />")
	response.write(ord)
End Function
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title><%=view("username")%>s krypin</title>

<link type="text/css" rel="StyleSheet" href="/include/css/style.css">
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)