---
title: "Optimerad kod"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/95542-optimerad-kod"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Thompa__85"
published: "2004-01-22T23:00:15.000Z"
updated: "2004-01-23T11:10:23.000Z"
replies: 11
views: 281
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/95542-optimerad-kod"
---

# Optimerad kod

## #1 — Thompa__85, 2004-01-22T23:00Z

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å :)

Permalänk: https://www.webforum.nu/p/95542

## #2 — Palle, 2004-01-22T23:07Z

..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. :)

Permalänk: https://www.webforum.nu/p/1256592

## #3 — Thompa__85, 2004-01-22T23:11Z

```
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?  ;)

Permalänk: https://www.webforum.nu/p/1256595

## #4 — Palle, 2004-01-22T23:23Z

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. ;)

Permalänk: https://www.webforum.nu/p/1256604

## #5 — Thompa__85, 2004-01-22T23:28Z

> **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 :/

Permalänk: https://www.webforum.nu/p/1256607

## #6 — Palle, 2004-01-22T23:32Z

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å.

Permalänk: https://www.webforum.nu/p/1256609

## #7 — Thompa__85, 2004-01-22T23:41Z

Tack! Det verkar ha gjort susen! Så det är en stabil optimering eller?

Permalänk: https://www.webforum.nu/p/1256611

## #8 — Palle, 2004-01-22T23:45Z

..ja, den torde vara mer stabil nu än tidigare. ;) :bire

Permalänk: https://www.webforum.nu/p/1256613

## #9 — Thompa__85, 2004-01-22T23:51Z

shysst! :)

Permalänk: https://www.webforum.nu/p/1256615

## #10 — Thompa__85, 2004-01-22T23:59Z

En fråga, varför har du gjort så här?

```
strPost = Replace(Request.Form("requiredinlagg"), "'", "''")
```

Permalänk: https://www.webforum.nu/p/1256616

## #11 — Palle, 2004-01-23T00:10Z

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. :)

Permalänk: https://www.webforum.nu/p/1256618

## #12 — trexter, 2004-01-23T11:10Z

Använder man access ska man väl escapa \|-tecknet också?!

Permalänk: https://www.webforum.nu/p/1256725

---

Tråden på webben: https://www.webforum.nu/amne/asp/95542-optimerad-kod
