webForumDet fria alternativet

går det att optimera detta kodstycke?

ASP

5 svar · 197 visningar · startad av M.Cheraghi

Medlem sedan juli 20015 107 inlägg
Frågan#1

tjenare.. äntligen e jag klar med login sidan! kan nån kolla igenom den o se om det finns nått som går att ändra så att behandligen av koden blir, hmm ja på nått sätt bättre :P

<!-- #Include File="adovbs.inc" -->
<%
user = replace(request.form("usern"),"'","''")
pass = replace(request.form("passw"),"'","''")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username='"&user&"' AND password='"&pass&"'"
RS.Open SQL, Conn, adOpenStatic, adLockOptimistic

If rs.bof and rs.eof then

		response.write("nä, hittade inget")

else

Session("user") = RS("username")
session("id") = RS("id")

RS.Close

SQL = "SELECT * FROM members WHERE id=" & Session("id")
RS.Open SQL, Conn, adOpenStatic, adLockOptimistic

		RS("status") = "online"
		RS("online") = now

		RS.Update

rs.close
conn.close

end if
%>
Medlem sedan sep. 20026 425 inlägg
#2

Plocka bara ut nödvändiga fält från databasen, stäng öppna objekt med Set blaha = Nothing, använd ej Recordsett när du ska uppdatera i databasen...

Medlem sedan juli 20015 107 inlägg
#3

m_soderlund skrev:

Plocka bara ut nödvändiga fält från databasen, stäng öppna objekt med Set blaha = Nothing, använd ej Recordsett när du ska uppdatera i databasen...

hmmm om jag inte ska andvända mej av recordset i update, vad ska jag andvända mej då? :r

Medlem sedan mars 20015 287 inlägg
#4

Borde väl inte fungera sämre:

<%
user = replace(request.form("usern"),"'","''")
pass = replace(request.form("passw"),"'","''")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username='"&user&"' AND password='"&pass&"'"
RS.Open SQL, Conn, 3, 3

If rs.bof and rs.eof then

		response.write("nä, hittade inget")
else

Session("user") = RS("username")
session("id") = RS("id")

		RS("status") = "online"
		RS("online") = now
		RS.Update

end if

rs.close
conn.close
%>
Medlem sedan sep. 20026 425 inlägg
#5

Cannabis_Tomten skrev:

m_soderlund skrev:

Plocka bara ut nödvändiga fält från databasen, stäng öppna objekt med Set blaha = Nothing, använd ej Recordsett när du ska uppdatera i databasen...

hmmm om jag inte ska andvända mej av recordset i update, vad ska jag andvända mej då? :r

Exempelvis är denna kod mer att föredra...

Conn.Execute "SET Status='Online',Online=" & Now() & " WHERE Id=" & Session("id") & ";",,128

..mer än denna:

SQL = "SELECT * FROM members WHERE id=" & Session("id")
RS.Open SQL, Conn, adOpenStatic, adLockOptimistic

		RS("status") = "online"
		RS("online") = now

		RS.Update
Medlem sedan jan. 20032 285 inlägg
#6

Strunta i meddelandet. *Är föt trött för att tänka*

279 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)