Avatar billede mskjoldp Novice
27. december 2003 - 22:32 Der er 17 kommentarer og
1 løsning

Indsæt asp kode fra en access db

Hej E

jeg har meget kode der replacer :) med smileys, eftersom jeg har mange smileys er der meget kode. Disse linjer har jeg smidt i en db og trækker dem ud hvor jeg har brug for det, ok. Men når jeg trækker koden ud og Response.write ("smileykoden") skrives teksten istedet for at replace teksten...

Lidt kode inden jeg prøvede komprimere:
forbindelse bla bla
                        <%    DO WHILE NOT rs.EOF
besked = rs("post")
besked = Replace(besked,"<"," ") & rs("post")
besked = Replace(besked,":)","<IMG SRC=gfx/smiley/s_smile.gif>") & rs("post")
besked = Replace(besked,":-)","<IMG SRC=gfx/smiley/s_smile.gif>") & rs("post")

osv

denne kode har jeg smidt i en db og henter den frem med:

<%Set rss = Conn.Execute("SELECT * FROM smiley")
Response.Write rss("besked")
rss.Close%>

Men så er det, at outputet bliver skrevet i tekst istedet at indgå som asp kode... dette er mit problem. Kan det løses?

Det er lykkedes mig at hente html kode fra en db som beskrevet ovenfor, men når jeg prøver at hente asp kode:

                        <%    DO WHILE NOT rs.EOF
                            Set rss = Conn.Execute("SELECT * FROM smiley")
                                Response.Write rss("beskederne")
                            rss.Close

Går det galt.

Det skal siges at der kun er en record(række) i db'en.
Avatar billede mskjoldp Novice
27. december 2003 - 22:34 #1
rss("beskederne") og rss("besked") er den samme post, det er mig der har skrevet forkert ovenfor

/ Skjold
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:38 #2
du kan ikke hente asp koder fra en database, da alt indhold herfra fortolkes som tekst.

Men jeg er ikke sikker på jeg forstår dit problem.

Du har en besked i en database, som du henter du og derefter replacer forskellige ting for at få smilies vist...
det gør du med den øverste kode...

Men er din kode ikke forkert, burde den ikke bare være:
<%    DO WHILE NOT rs.EOF
besked = rs("post")
besked = Replace(besked,"<"," ")
besked = Replace(besked,":)","<IMG SRC=gfx/smiley/s_smile.gif>")
besked = Replace(besked,":-)","<IMG SRC=gfx/smiley/s_smile.gif>")

Altså hvor du fjerner: & rs("post")
Avatar billede mskjoldp Novice
27. december 2003 - 22:41 #3
Har prøvet at smide værdierne i en variabel:

Dim be
Set rss = Conn.Execute("SELECT * FROM smiley")
be = rss("beskederne")
Response.Write be
rss.Close

Uden held. Ved ikke mo det skulle hjælpe men jeg har prøvet

/Skjold
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:42 #4
Men du kan ikke hente funktioner etc i en database og så eksekvere dette på din server...

Du kan ligge det i en anden fil som du inkludere med:

<!-- #include file="filnavn.asp"-->

og så i stedet for som du har det der laver lidt om på din funktion så den kommer til at se ud som dette:

function besked(tekst)
besked = trim(tekst)
besked = Replace(besked,"<"," ")
besked = Replace(besked,":)","<IMG SRC=gfx/smiley/s_smile.gif>")
besked = Replace(besked,":-)","<IMG SRC=gfx/smiley/s_smile.gif>")
end function

og så kalder den med:
besked(rs("post"))
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:43 #5
så kan du køre det hele igennem med:

do while not rs.eof
response.write besked(rs("post"))
loop
Avatar billede mskjoldp Novice
27. december 2003 - 22:45 #6
->ellebaek

:D

Hej der

Jeg har prøvet uden & ("post") men så fik jeg ikke selve beskeden(teksten) med. Så jeg rodede med det og fandt den løsning...!?

Men OK du siger at det ikke er muligt at hente ASP kode fra en db da det bliver fortolket som tekst... kan man så ik bare sætte <% foran og %> bagefter?

/Skjold
Avatar billede mskjoldp Novice
27. december 2003 - 22:46 #7
du ellebaek hvad gør/betyder TRIM egentlig?
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:46 #8
Nej, det hjælper ikke da det fortolkes som tekst når det hentes ud...

Du kan ikke få serveren til at eksekvere dette.
Men løsningen med include file synes jeg er klart den bedste.
Avatar billede mskjoldp Novice
27. december 2003 - 22:48 #9
JA jeg tror du har fat i en god løsning der. Der er bare gået lidt sport i for mig at samle koderne i en fil, og så minimere koden ved at hente koden fra en db.
Avatar billede mskjoldp Novice
27. december 2003 - 22:49 #10
har du et svar til TRIM?
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:50 #11
den trimmer teksten fjerner spaces...

Fjerner lange mellemrum etc.
for lidt info:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctltrim.asp
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:51 #12
( den fjerner ikke enkelte mellemrum...)
Avatar billede mskjoldp Novice
27. december 2003 - 22:52 #13
OK ellebaek det var et fint svar, thx

/Skjold
Avatar billede ellebaek Nybegynder
27. december 2003 - 22:53 #14
Anytime.
Takker for points..

..Ellebæk!
Avatar billede mskjoldp Novice
27. december 2003 - 22:54 #15
btw ved hvordan man bibeholdler "enter" fra et textarea som postes til db'en?
Avatar billede ellebaek Nybegynder
27. december 2003 - 23:04 #16
replace(request.form("formnavn"),vbcrlf,"<br>")
Avatar billede ellebaek Nybegynder
27. december 2003 - 23:06 #17
så får du replacet vbcrlf med html brakes...

Du kan gøre det enten når du skriver ind i databasen eller når du henter...

Det kan godt betale sig at vente med den kode du har der siger:
besked = Replace(besked,"<"," ")

men hvis du skriver:

function besked(tekst)
besked = trim(tekst)
besked = Replace(besked,"<"," ")
besked = Replace(besked,":)","<IMG SRC=gfx/smiley/s_smile.gif>")
besked = Replace(besked,":-)","<IMG SRC=gfx/smiley/s_smile.gif>")
besked = replace(besked,vbcrlf,"<br>")
end function
i din funktion, så burde det virke når du henter fra databasen...
Avatar billede mskjoldp Novice
03. januar 2004 - 02:16 #18
btw så kan jeg godt (nu)!!?? fjerne & rs("post") fra koden....

/Skjold
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

IT-JOB

Politiets Efterretningstjeneste

AI/ML udvikler i PET

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst