31. juli 2003 - 13:20Der er
25 kommentarer og 2 løsninger
server.execute vs. ren #include file
Jeg har en asp-side, der virker med almindelig <!-- #include file="inc_default.asp"--> Den skriver jeg så om, da jeg vil gøre mit site mere dynamisk: <% if Request.querystring("page") = "" or null then page = "inc_default.asp" else page = Request.querystring("page") end if side = page server.execute(side) <!-- #include file=request("page") --> %> Men så får jeg en fejl i min SQL-query: Microsoft VBScript runtime error '800a01a8'
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Hvad med denne?? <% if Request.querystring("page") = "" or null then page = "inc_default" else page = Request.querystring("page") end if Server.Execute(page & ".asp") %>
du kan ikke benytte <!-- #include file="xxx.html" --> som dynamisk inklude - der SKAL stå en fast html/asp side. Eneste mulighed er at du kører din if-sætning så den inkludere den fil der skal bruges fx;
<% if noget = "test" then %><!-- #include file="xxx.html" --><% else %><!-- #include file="yyy.html" --><% end if %>
server.execute har en del ulemper - fx kan variabler ikke genbruges på en side inkluderet på den måde og du kan hellere ikke overføre querystrings.
KAN server.exeute("xxx.asp") KAN IKKE server.execute("xxx.asp?id=test")
men derudover kan du med den godt køre med dynamiske inkludes
keysersoze: Jo tak ... men mit problem er ikke at medføre en variabel, for den henter jeg på anden vis. Så derfor virker min server.execute jo...
cesil: kaldet der giver fejl er : SQL = "SELECT Opgave.*, Prioritet.Tekst FROM Opgave, Prioritet WHERE Prioritet.Nummer=Opgave.Prioritet AND Ansvarlig = '" & initialer & "' AND Afsluttet=0 Order By " & sortkey SQL = SQL & " ASC;" set rs = Conn.Execute(sql)
nope ... <% DIM sortkey sortkey = Request.QueryString("sortkey") IF len(sortkey) < 1 THEN sortkey = "opgave.priornr, id, opgave.Ansvarlig" END IF %>
<% SQL = "SELECT Opgave.*, Prioritet.Tekst FROM Opgave, Prioritet WHERE Prioritet.Nummer=Opgave.Prioritet AND Ansvarlig = '" & initialer & "' AND Afsluttet=0 Order By " & sortkey SQL = SQL & " ASC;" set rs = Conn.Execute(sql) %> <% IF rs.eof THEN %> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td class="Headline">Der ligger ingen uafsluttede opgaver, hvor du er ansvarlig</td> </tr> </table> <% END IF %> <% IF NOT rs.EOF THEN %> o.s.v. o.s.v.
SELECT Opgave.*, Prioritet.Tekst FROM Opgave, Prioritet WHERE Prioritet.Nummer=Opgave.Prioritet AND Ansvarlig = 'JEJ' AND Afsluttet=0 Order By opgave.priornr, id, opgave.Ansvarlig ASC;
det er en OracleDB - men som sagt: <!-- #include file="inc_deault.asp" --> virker jo. Det er når jeg vil lave min side, hvorfra jeg laver includen så dynamisk, at jeg kan bruge den til alle underliggende sider (ved hjælp af server.execute) det går galt....
du kan IKKE benytte variabler fra på tværs af sider du inkluderer vha server.execute. Dvs bruger du server.execute til inc_default.asp vil du KUN kunne benytte database-connectionen på inc_default.asp og ikke andre sider
<% dim conn dim rs dim sql Session("ConnectionString") = "dsn=websupport" Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open Session("ConnectionString") %> <table border="0" cellpadding="0" cellspacing="5"> <tr> <td class="Headline">Dine uafsluttede opgaver:</td> </tr> </table> <% DIM sortkey sortkey = Request.QueryString("sortkey") IF len(sortkey) < 1 THEN sortkey = "opgave.priornr, id, opgave.Ansvarlig" END IF %>
<% SQL = "SELECT Opgave.*, Prioritet.Tekst FROM Opgave, Prioritet WHERE Prioritet.Nummer=Opgave.Prioritet AND Ansvarlig = '" & initialer & "' AND Afsluttet=0 Order By " & sortkey SQL = SQL & " ASC;" set rs = Conn.Execute(sql) response.write sql response.end %> <% IF rs.eof THEN %> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td class="Headline">Der ligger ingen uafsluttede opgaver, hvor du er ansvarlig</td> </tr> </table> <% END IF %> <% IF NOT rs.EOF THEN %> <table border="1" cellpadding="4" cellspacing="0" width="100%" bordercolor="#000000">
.... visning
Synes godt om
Slettet bruger
31. juli 2003 - 14:26#25
Du mangler Set rs= Server.CreateObject("ADODB.RecordSet")
Der var den - det var connection ... Jeg havde min connection i en include file også ... det kan den åbenbart ikke i en server.execute. keysersoze: du ledte mig ind på det rigtige, så jeg vil tildele dig points, men er du OK med at jeg giver lidt til cesil... "for trying" ?
overhovedet ikke - det er jo dig der bestemmer det :)
så husk - ved include file/include virtual kan alt genbruges på både hovedsiden og det inkluderede - ved server.execute kan kun requests, sessions og cookies bruges på den inkluderede
Synes godt om
Ny brugerNybegynder
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.