Toon posts:

[ASP] quotes en format text

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben ik weer.

Ik heb al een paar topics gelezen over het vervangen van een ' in ASP
Met vervangen bedoel ik dus een stuk tekst met het woord 's avonds erin databaseklaar maken zodat mysql niet over zijn nek gaat door die '.

Wat ik eigenlijk wil, is dat die ' niet vervangen wordt maar gewoon in de database komt te staan. Of een manier om van een singlequote een dubbelquote te maken en weer te vervangen door een singlequote zodra ik het uit de database trek.

Ik wil overigens dat alles wat er in een textarea wordt ingetypt letterlijk naar de database wordt gekopieerd. Dus wanneer men een enter of een lege regel in een stuk tekst geeft, dan moet die lege regel ook opgeslagen worden.

Hoe ga ik dit doen, doe ik dat serverside of clientside, welke datatype kan ik het beste gebruiken voor lange text met opmaak? En hoe noem ik zoiets, als ik zoiets op devsites wil zoeken?

Verwijderd

Topicstarter
ik was over mijn eerste vraag iets te snel, ik had het al.

ASP:
1
2
3
4
5
6
7
8
    Function SQLEncode(sValue)
        Position = InStr(sValue, "'")
        Do While Position > 0
            sValue = Mid(sValue, 1, Position) & Mid(sValue, Position)
            Position = InStr(Position + 2, sValue, "'")
        Loop
        SQLEncode = Server.HTMLEncode(sValue)
    End Function


Over dat text format probleem. Ik zie dat het juiste formaat incl enters wel goed wordt weergegeven in phpMyAdmin. Ik moet het dus waarschijnlijk met asp anders uit de database trekken (dwz weergeven)

[ Voor 28% gewijzigd door Verwijderd op 17-02-2004 03:45 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Verwijderd schreef op 17 februari 2004 @ 03:27:
ik was over mijn eerste vraag iets te snel, ik had het al.

ASP:
1
2
3
4
5
6
7
8
    Function SQLEncode(sValue)
        Position = InStr(sValue, "'")
        Do While Position > 0
            sValue = Mid(sValue, 1, Position) & Mid(sValue, Position)
            Position = InStr(Position + 2, sValue, "'")
        Loop
        SQLEncode = Server.HTMLEncode(sValue)
    End Function
Dit is wel een HELE omslachtige manier.

code:
1
REPLACE (sValue, "'", "''")

werkt ook in plaats van die lus.
Over dat text format probleem. Ik zie dat het juiste formaat incl enters wel goed wordt weergegeven in phpMyAdmin. Ik moet het dus waarschijnlijk met asp anders uit de database trekken (dwz weergeven)
Om enters te bewaren moet je vbCrLf vervangen door <BR>, op dezelfde manier met replace.

Dit is trouwens behoorlijke basiskennis. Zou je niet eerst een wat tutorials doorlopen? 4guysfromrolla.com is bijvoorbeeld een hele goede.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • HansMij
  • Registratie: Mei 2002
  • Laatst online: 22:16
Ik denk dat je eens moet zoeken naar parametrized queries. Dit is een methode om data in-en-uit een database te halen zonder dat je een query opbouwt. Meestal roep je dan een query aan die binnen de database aangemaakt is. Vervolgens plak je hier enkele parameter-objecten aan. Hierin definieer wat voor soort parameter het is (numeric, string) en daar kan je dan gewoon je tekst in proppen.

Omdat er dan geen constructie komt te staan als INSERT INTO tabel(kolom1, kolom2) VALUES('test1','test2'); kun je hier dus ook geen quotes in inserten.

Ik hoop dat je hier wat aan hebt.

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22:51
De manier die je hierboven gepost hebt is inderdaad enorm omslachtig. Ik heb vroeger nog wel eens een functie gemaakt die alle speciale karakters (in ieder geval degene die in queries in de weg zaten) verving door hun HTML code, dus
" --> "
' --> ´
VbCrLf --> <br>

etc.
Tegenwoordig gebruik ik SP's

Roomba E5 te koop


Verwijderd

Topicstarter
P_de_B schreef op 17 februari 2004 @ 08:00:
[...]


Dit is wel een HELE omslachtige manier.

code:
1
REPLACE (sValue, "'", "''")

werkt ook in plaats van die lus.


[...]
-edit-
Ik heb het :)
ik moest vbcrlf niet tussen "" zetten :S
ASP:
1
description2=REPLACE (description2, VbCrLf, "<br>")

Zo dus :Y)

Ik heb die omslachtige loop er ook uitgeknikkert, en die ook vervangen door die replace functie. Weer een hoop geleerd vandaag, thanks all _/-\o_


Ja die functie ken ik wel.

Alleen die vervangt niks. Zoals ik al zei, het formaat blijft bewaart in de database, als ik em met phpmyadmin bekijk, dus op 1 of andere manier wordt het formaat wel bewaard, maar hoe krijg ik het eruit?

Ik heb nu dit, maar zo vervangt hij niets, de data wordt wel goed weggeschreven, maar zonder <br>


ASP:
1
2
description=request.form("description")
description2=REPLACE (description, "VbCrLf", "<br>")

[ Voor 146% gewijzigd door Verwijderd op 18-02-2004 04:19 ]


  • party42
  • Registratie: Oktober 2000
  • Laatst online: 27-05 13:28
overigens hoef je daar natuurlijk niet 2 variabelen voor te declareren:

code:
1
description=Replace(Request.Form("description"), VbCrLf, "<br>")


hmmm, of had je dat al? :) De vervanging van de single quote (') doe je op dezelfde manier neem ik aan?

[ Voor 11% gewijzigd door party42 op 18-02-2004 09:22 ]

Everyday's an endless stream, of cigarettes and magazines...

Pagina: 1