Hejsan! Jag håller på försöka lära mig optimera min ASP kod, denna kod har jag, som jag vill optimera så mycket det bara går.. har ni några förslag?
if request.querystring("action")="spara" then
if session("id") <> request.querystring("id") then
rs.addnew
rs("namn")=session("user")
rs("inlagg")=request.form("requiredinlagg")
rs("gbid")= request.querystring("id")
rs("privat")=request.form("privat")
rs("namnid")=session("id")
rs("datum") = now
rs.update
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where id='"&session("id")&"'"
rs.Open Addera, Connect, 3, 3
rs("gast") = gast + 1
rs("status") = rs("status") + 90
rs.update
if rs("gast")&"" = "" then
gast = 0
else
gast = rs("gast")
end if
response.redirect "gastbok.asp?id="&session("id")
end if
end if
Tacksam för all hjälp jag kan få :)
PalleMedlem sedan apr. 20003 174 inlägg ..ser ut som det fattas lite kod för att ens få det där att fungera korrekt.
Kan du inte posta all relaterad kod så blir det mycket enklare att se helheten. :)
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM gb where gbid='"&request.querystring("id")&"' order by id desc"
rs.Open Addera, Connect, 3, 3
if request.querystring("action")="spara" then
if session("id") <> request.querystring("id") then
rs.addnew
rs("namn")=session("user")
rs("inlagg")=request.form("requiredinlagg")
rs("gbid")= request.querystring("id")
rs("privat")=request.form("privat")
rs("namnid")=session("id")
rs("datum") = now
rs.update
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where id='"&session("id")&"'"
rs.Open Addera, Connect, 3, 3
rs("gast") = gast + 1
rs("status") = rs("status") + 90
rs.update
if rs("gast")&"" = "" then
gast = 0
else
gast = rs("gast")
end if
response.redirect "gastbok.asp?id="&session("id")
end if
end if
Bättre? ;)
PalleMedlem sedan apr. 20003 174 inlägg Japp, bättre. :)
En fråga bara.. vad gör denna koden:
[red]if rs("gast")&"" = "" then
gast = 0
else
gast = rs("gast")
end if[/red]
..ser inte ut att ha något direkt syfte. ;)
Palle skrev:
Japp, bättre. :)
En fråga bara.. vad gör denna koden:
[red]if rs("gast")&"" = "" then
gast = 0
else
gast = rs("gast")
end if[/red]
..ser inte ut att ha något direkt syfte. ;)
Hmm nja, inte vad jag kan komma på faktiskt :/
PalleMedlem sedan apr. 20003 174 inlägg hehe, ok. ;)
Här kommer en variant på en optimering.
[red]If trim(Request.Querystring("action")) = "spara" Then
If trim(Session("id")) <> trim(Request.Querystring("id")) Then
Dim strName, strPost, intGbID, strPrivate, intNameID, strDate, Connect
strName = Session("user")
strPost = Replace(Request.Form("requiredinlagg"), "'", "''")
intGbID = Request.Querystring("id")
strPrivate = Request.Form("privat")
intNameID = Session("id")
strDate = Now()
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("databas/databas.mdb")
Connect.Execute("INSERT INTO gb(namn,inlagg,gbid,privat,namnid,datum) VALUES('"& strName &"', '"& strPost &"', "& intGbID &", '"& strPrivate &"', "& intNameID &", '"& strDate &"')"),,128
Connect.Execute("UPDATE anv SET gast=gast+1, status=status+90 WHERE id="& Session("id")),,128
Connect.Close
Set Connect = Nothing
Response.Redirect "gastbok.asp?id="& session("id")
End If
End If[/red]
..här har jag gissat mig till datatyperna i databasen så dessa kan du ju behöva ändra lite på.
Tack! Det verkar ha gjort susen! Så det är en stabil optimering eller?
PalleMedlem sedan apr. 20003 174 inlägg ..ja, den torde vara mer stabil nu än tidigare. ;) :bire
En fråga, varför har du gjort så här?
strPost = Replace(Request.Form("requiredinlagg"), "'", "''")
PalleMedlem sedan apr. 20003 174 inlägg Databasen inte kan hantera ' <- tecken så om
någon skriver ett sådant tecken i inlägget så får du felmeddelande..
Den replace-snutten förhindrar detta. :)
trexterMedlem sedan mars 20021 889 inlägg Använder man access ska man väl escapa |-tecknet också?!