Avatar billede cokeman Nybegynder
21. juni 2004 - 16:46 Der er 7 kommentarer

Hvordan afvikler jeg ASP kode der ligger i en DB

Ja, kode kan jeg ikke, men jeg prøver (eller kan man jo ikke lære noget)

Jeg er ved at lave en ny HP, og havede tænkt på at den skulle bygges op i en database, så jeg lavede en 3x3 tabel, og vil have alle cellerne til at hente deres ASP kode fra en access DB, og det virker nu også ganske fint (det med at hente koden)

sådan henter jeg et "plug-in"
<%
ActiveMenuTempSQL = "SELECT * FROM Pages WHERE id = " & ActivePage & " "
set ActiveMenuTemp = WebSiteDB.Execute(ActiveMenuTempSQL)
set ActiveMenu = ActiveMenuTemp("top_left")
   
ActiveMenuSQL = "SELECT * From Plug_In WHERE id = " & ActiveMenu & " "
set live = WebSiteDB.Execute(ActiveMenuSQL)
       
Response.Write live("code")
%>

Og det virker ganske fint..  "code" som den henter fra min DB er:
<%
ActiveMenuSQL = "SELECT * From Pages"
set live = WebSiteDB.Execute(ActiveMenuSQL)

do while not live.EOF
  Response.Write "<td>"
  Response.Write live("navn")
  Response.Write "</td>"
live.MoveNext
loop
%>

Mit output på denne side er bare: (Vis kode på det output jeg får når jeg går på side)
  <tr>
    <td colspan="3" align="center">
    <!-- Plug_in "MENU" -->
    <%
ActiveMenuSQL = "SELECT * From Pages"
set live = WebSiteDB.Execute(ActiveMenuSQL)

do while not live.EOF
  Response.Write "<td>"
  Response.Write live("navn")
  Response.Write "</td>"
live.MoveNext
loop
%>
    </td>
  </tr>

Altså, den sætter min "code" ind på siden, men udfører den ikke....

HELP....

- Dahl
Avatar billede KingMedia Novice
21. juni 2004 - 17:11 #1
du kan ikke som sådan hente ASP code ud fra en database og eksekvere den.

når du skriver fra databasen, så er det rent tekst output.

jeg mener der er en måde du kan omgås det på, men er ikke sikker :o)

/Mads
Avatar billede fixxxer Nybegynder
21. juni 2004 - 17:23 #2
det virker underligt at du vil have selve siden liggende i databasen. Ville det ikke være en bedre mulighed at have dine sider liggende i mapper, og referere dem i databasen med deres filnavn?

dvs. at du har i stedet for en hel aspkode i databasen, så skriver du et filnavn fx menu.asp og så har du på hemmeligste vis lavet filen menu.asp med dit asp/html indhold.

Når vi så skal eksikvere det gør vi sådan her i stedet:

<% Server.Execute(live("aspside")) %>

Du henter altså navnet på din side du vil eksikvere vha. recordsettet live med kolonnenavnet "aspside", og putter det rigtigt ind på din side.

Bare en tanke.
Avatar billede cokeman Nybegynder
21. juni 2004 - 17:33 #3
Min tanke går på at jeg ved at have det hele i DB, kan jeg jo bare lave et nyt "plug-in" eller hvad man nu vil kalde den kode, som jeg så kan putte ind i mine celler, og herved vil jeg kunne "nøjes" med 2 filer på webserveren.
Avatar billede fixxxer Nybegynder
21. juni 2004 - 17:53 #4
så skal du nok gemme dem som BLOB i databasen, som du kan hitte ud som var de fysiske filer og eksekvere dem... jeg har et eksempel hvor jeg gør det med et billed, så det kan sikkert godt overbygges til at virke som tekst.
Avatar billede cokeman Nybegynder
21. juni 2004 - 17:56 #5
Vil gerne prøve det....
Avatar billede fixxxer Nybegynder
21. juni 2004 - 18:03 #6
Kan se at det kræver aspUpload, du kan se her hvordan virker i praktis:

http://www.aspupload.com/manual_db.html

Spørgsmål er om det så vil virke i dit tilfælde. Det du vil er jo ikke læse, men eksekvere indholdet fra en db på siden, og det afhænger jo af Server.Execute()'s muligheder. Hvis den kun vil behandle en fysisk fil, så har du ingen anden mulighed som jeg ser det, men hvis den kan tage en virtuel fil, som aspUpload producere, så er det jo fjong.
Avatar billede fixxxer Nybegynder
21. juni 2004 - 18:06 #7
Jeg tænkter om man kunne lave en findte alla Server.Execute("aspcode.asp?id=1") og så få aspcode til at returnere noget i forhold til "1" i databasen.. det ville den ikke være med til. Så er det vist kun den viruelle fil-metode tilbage som jeg ser det.
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