Avatar billede -sofus- Nybegynder
26. februar 2002 - 00:22 Der er 2 kommentarer og
1 løsning

Simplificer min asp code.

Når jeg laver sider i asp, så er jeg sikker på jeg har alt for meget asp code med. Jeg åbner og lukker databasen 3-4 gange på en side, og det må kunne gøres mere simpelt...

Eksempel

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open strConn
strSQL = "select * from tabel1"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write ""
else
Do Until rs.EOF
%>

<%= rs("blahblah") %>

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>



<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open strConn
strSQL = "select * from tabel2"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write ""
else
Do Until rs.EOF
%>

<%= rs("blahblah") %>

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>

Hvordan korter jeg den ned så jeg ikke åbner databasen hver gang ?
Avatar billede invisibleman Nybegynder
26. februar 2002 - 00:26 #1
Sådan:

Men de to stykker kode er jo præcis den samme ?

<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.open strConn

    Set rs = Conn.execute("SELECT * FROM tabel1")
    If Rs.EOF Then
        Response.Write ""
    Else
        Do Until rs.EOF
            Response.Write Rs("blahblah")
            Rs.MoveNext
        Loop
    End If

    Set Rs = Conn.execute("SELECT * FROM tabel2")

    If Rs.EOF Then
        Response.Write ""
    Else
        Do Until rs.EOF
            Response.Write Rs("blahblah")
            Rs.MoveNext
        Loop
    End If

    Conn.Close
    Set Conn = Nothing
%>
Avatar billede -sofus- Nybegynder
26. februar 2002 - 00:29 #2
Ja det er det jeg mener, på en side henter jeg flere gange fra databasen forskellige steder, Det må være muligt at åbne databasen i starten af siden og lukke den igen i bunden så man kun har SQL stringen.
Avatar billede invisibleman Nybegynder
26. februar 2002 - 00:31 #3
Det er det jeg har gjort her ... du skal bare

Set Rs = Conn.Execute(".. SQL ..")

hver gang du skal udføre et SQL (eller bare Conn.Execute "... SQL ..." hvis det er et UPDATE/INSERT/DELETE der ikke giver noget tilbage).

Åben i toppen som her og luk i bunden .. ingen problemer der
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester