Avatar billede japlex Nybegynder
12. september 2002 - 13:19 Der er 4 kommentarer og
1 løsning

anvendelse af sub procedurer i ASP

Hvordan anvendes sub-procedurer i ASP:

altså:
Hvor placeres de i koden?
Hvordan kaldes de?
mm.

Følgende kode er et eksempel på en side hvor data fra en form skal placeres i en database.
Jeg har lavet et par subs hvori der køres SQL Insert Into og kalder så disse subs fra min input button tag vha. onClick!:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim strKursustitel
Dim strFagomraade
Dim strKommentar
Dim strConnect
%>
<!-- #include file="strConnect.asp" -->

<%
   
    'Fagomraade hentes!
    Dim objRS_Fagomraade
    Dim objRS_Fagomraade_numRows
   
    strKursustitel = request.QueryString("array")
    Set objRS_Fagomraade = Server.CreateObject("ADODB.Recordset")
    objRS_Fagomraade.ActiveConnection = strConnect
    objRS_Fagomraade.Source = "SELECT * FROM tblKURSUS WHERE Kursustitel = '" & strKursustitel & "'"
    objRS_Fagomraade.CursorType = 0
    objRS_Fagomraade.CursorLocation = 2
    objRS_Fagomraade.LockType = 1
    objRS_Fagomraade.Open()

    objRS_Fagomraade_numRows = 0
    If NOT objRS_Fagomraade.EOF Then
        strFagomraade = objRS_Fagomraade.Fields.Item("Fagomraade").Value
        Session("Fagomraade") = strFagomraade
    End If
    'strFagomraade = objRS_Fagomraade.Fields.Item("Fagomraade").Value
           
    objRS_Fagomraade.close
    set objRS_Fagomraade = nothing
       
    'Tjek på om ValgtUnderviser findes i tblFAG_UNDERVISER!
    Dim booFAG_UNDERVISER
    Dim objRS_TjekFag_Underviser
    Dim objRS_TjekFag_Underviser_numRows
   
    Set objRS_TjekFag_Underviser = Server.CreateObject("ADODB.Recordset")
    objRS_TjekFag_Underviser.ActiveConnection = strConnect
    objRS_TjekFag_Underviser.Source = "SELECT *  FROM tblFAG_UNDERVISER WHERE Navn = '" & Session("ValgtUnderviser") & "' AND Fagomraade = '" & strFagomraade & "'"
    objRS_TjekFag_Underviser.CursorType = 0
    objRS_TjekFag_Underviser.CursorLocation = 2
    objRS_TjekFag_Underviser.LockType = 1
    objRS_TjekFag_Underviser.Open()
   
    objRS_TjekFag_Underviser_numRows = 0
   
    If objRS_TjekFag_Underviser.EOF Then
        booFAG_UNDERVISER = 0
    Else
        booFAG_UNDERVISER = 1
    End If
   
    objRS_TjekFag_Underviser.Close
    set objRS_TjekFag_Underviser = Nothing
   
   
   
%>
<html>
<head>
<title>opret</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="stdStylesheet.css" rel="stylesheet" type="text/css">
</head>

<body>
<p><%= strFagomraade%> - <%= strKursustitel%></p>
<form name="frmKommentar" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME")%>">
  <p>
    <input type="text" name="Kommentar" class="textbox" size="60" maxlength="100">
  <p>
    <input type="button" name="subOpret" value="opret" onClick="<%opret%>">
</form>
</p>
<p>&nbsp; </p>
</body>
</html>
<%
strKommentar = request.form("Kommentar")

    Sub InsertInto_tblFAG_UNDERVISER
        'Der indsættes en række i tblFAG_UNDERVISER
        Dim Conn,SQL
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open strConnect
        SQL = "INSERT INTO tblFAG_UNDERVISER (Fagomraade, Navn) VALUES ('" & strFagomraade & "','" & Session("ValgtUnderviser") & "')"
        Conn.Execute(SQL)
        Conn.Close       
    End sub
   
    Sub InsertInto_tblKURSUS_UNDERVISER
        'Indholdet af subOpret sendes til databasen
        Dim Conn,SQL
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open strConnect
        SQL = "INSERT INTO tblKURSUS_UNDERVISER (Fagomraade, Kursustitel, Navn, Erfaring, Kommentar) VALUES ('" & strFagomraade & "','" & strKursustitel & "','" & Session("ValgtUnderviser") & "'," & "1" & ",'" & "test" & "')"
        Conn.Execute(SQL)
        Conn.Close
    End sub
   
    Sub Opret
        if booFAG_UNDERVISER = 0 Then
            InsertInto_tblFAG_UNDERVISER
        End if
        InsertInto_tblKURSUS_UNDERVISER
    End Sub   
%>
Avatar billede japlex Nybegynder
12. september 2002 - 13:20 #1
Her er mine subs "klippet" ud:

<%
strKommentar = request.form("Kommentar")

    Sub InsertInto_tblFAG_UNDERVISER
        'Der indsættes en række i tblFAG_UNDERVISER
        Dim Conn,SQL
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open strConnect
        SQL = "INSERT INTO tblFAG_UNDERVISER (Fagomraade, Navn) VALUES ('" & strFagomraade & "','" & Session("ValgtUnderviser") & "')"
        Conn.Execute(SQL)
        Conn.Close       
    End sub
   
    Sub InsertInto_tblKURSUS_UNDERVISER
        'Indholdet af subOpret sendes til databasen
        Dim Conn,SQL
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open strConnect
        SQL = "INSERT INTO tblKURSUS_UNDERVISER (Fagomraade, Kursustitel, Navn, Erfaring, Kommentar) VALUES ('" & strFagomraade & "','" & strKursustitel & "','" & Session("ValgtUnderviser") & "'," & "1" & ",'" & "test" & "')"
        Conn.Execute(SQL)
        Conn.Close
    End sub
   
    Sub Opret
        if booFAG_UNDERVISER = 0 Then
            InsertInto_tblFAG_UNDERVISER
        End if
        InsertInto_tblKURSUS_UNDERVISER
    End Sub   
%>
Avatar billede japlex Nybegynder
12. september 2002 - 13:20 #2
og her er min form:

<form name="frmKommentar" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME")%>">
  <p>
    <input type="text" name="Kommentar" class="textbox" size="60" maxlength="100">
  <p>
    <input type="button" name="subOpret" value="opret" onClick="<%opret%>">
</form>
Avatar billede a1a1 Novice
12. september 2002 - 13:28 #3
du kan ikke få asp til at køre onclick, hvis det er det du vil.

Du bliver nød til at "sende" siden

subss....

sub dosomething
response.write "something called"
end sub

for at kalde din sub:
Call dosomething

;)
Avatar billede japlex Nybegynder
07. oktober 2002 - 09:40 #4
Men hvor skal den sub ligge - kan den ligge på samme side??

Jeg har prøvet og det ser ud som om at koden i disse subs bliver eksekveret allerede inden de bliver kaldt!!

Skal de ligge i en særskilt fil og hvordan fungerer det så!!
Avatar billede japlex Nybegynder
10. oktober 2002 - 21:54 #5
jeg lukker
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