---
title: "Förbättra koden?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/96123-förbättra-koden"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2004-01-30T11:19:11.000Z"
updated: "2004-01-30T14:19:15.000Z"
replies: 3
views: 262
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/96123-förbättra-koden"
---

# Förbättra koden?

## #1 — Bosse168, 2004-01-30T11:19Z

Någon som vet hur man kan förbättra denna kod?
Jag har precis uppgraderat databasen till MySQL 4.0.16

```
<%@ LANGUAGE="VBSCRIPT" %>
<% Response.Expires=-1
Response.Buffer = True

If Session("login") <> "ok" Then
	Session("meddelande") = "Du måste vara inloggad för att kunna surfa runt här!!."
	Response.Redirect "http://skene.nu"
End If

%>
<!-- #INCLUDE VIRTUAL="/include/koppling.asp" -->

<%
Set Rs = Connect.Execute("SELECT vems FROM plejs_fraga WHERE vems ='"& session("username") &"'")

If Rs.EOF Then

Dim fraga,svar1,svar2
fraga=Request.Form("fraga")
svar1=Request.Form("svar1")
svar2=Request.Form("svar2")

If fraga="" Then
fraga="Ska jag skaffa en fråga?"
ElseIf svar1="" Then
svar1="Ja"
Else
svar2="Nej"
End If

Connect.Execute("INSERT INTO plejs_fraga (vems,Fraga,datum,svar1,svar2) VALUES('"& session("username") &"','"& Replace(fraga,"'","''") &"','" & Now() & "','"& Replace(svar1,"'","''") &"','"& Replace(svar2,"'","''") &"') LIMIT 1")  

Else

Connect.Execute ("update fraga set Fraga='"& Replace(fraga,"'","''") &"', datum='" & Now() & "', svar1='"& Replace(svar1,"'","''") &"', svar2='"& Replace(svar2,"'","''") &"' where vems='" & session("username") & "' LIMIT 1")	

End If

Connect.Close : Set Connect = Nothing
Rs.Close : Set Rs=Nothing

Session("meddelande") = "  Din omröstning är skapad!"
Response.Redirect "../plejs.asp?se="& session("username") &""
%>
```

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

## #2 — mrblonde, 2004-01-30T11:30Z

En liten liten förbättring, men knappast vettig egetnligen är att istället för att slå upp Session("username") varje gång du behöver det så skapar du en konstant och lägger in värdet i. Då slipper kompilatorn leta igenom session objektet varje gång. 

Det gäller rent generellt för allting av den typen, Request.form mm, att lägga över det i konstanter snabbar upp det om man använder samma sak flera gånger och värdet inte behöver ändras.

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

## #3 — m_soderlund, 2004-01-30T13:46Z

Onödig användning av sessionen "meddelande". Bättre att i så fall skicka besökaren vidare till "../plejs.asp?se="& session("username") &"&show=poll-ok". Då kan du på plejs.asp ha denna kod:

```
If Request.Querystring("show")="poll-ok" Then
Response.Write "Din omröstning är skapad!"
End If
```

Vidare så kan du i stället för (som du gör nu) köra en Replace på dåliga tecken när du sätter in data i databasen, ha en funktion för det i stället.

```
function fix_(str)
str = Replace(str,"'","''")
fix_ = str
end function
```

I stället för Replace(fraga,"'","''") så skriver du då fix\_(fraga) och tillämpar detta på alla dina variabler som ska in i databasen. :)
Annars tycker jag allt ser bra ut, förutom att du inte har *Option Explicit* med, som tvingar dig att deklarera dina variabler. Är bra ur bland annat felsökningssynpunkt och inte minst ur prestandasynpunkt. Läs mer om detta i [denna](http://www.webforum.nu/showthread.php?s=&threadid=93956&forumid=22) tråden.

Hoppas jag inte missat nåt mer nu. :D

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

## #4 — mrblonde, 2004-01-30T14:19Z

Ur prestanda synpunkt är det ju inte effektivare att skriva en extra wrapper för att fixa replace av tecken. Bättre då att använda Replace varje gång, om man är ute efter prestanda. 

Jag anser däremot att det är ett bra sätt för att skapa bättre läsbarehet i koden.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/96123-förbättra-koden
