/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvor laver man ' i en database?
Fra : Thomas Brejner


Dato : 01-06-03 20:40

Jeg har en lille nyheds side og noget mere, og så vil jeg gerne have så man
kan skrive ' i nyheder kan det lade sig gøre? hvis man skriver det kommer
den bare med database fejl. Det er access database jeg bruger... håber i kan
hjælpe!



 
 
N9 (01-06-2003)
Kommentar
Fra : N9


Dato : 01-06-03 21:22



> Jeg har en lille nyheds side og noget mere, og så vil jeg gerne have så
man
> kan skrive ' i nyheder kan det lade sig gøre? hvis man skriver det kommer
> den bare med database fejl. Det er access database jeg bruger... håber i
kan
> hjælpe!

Bruge replace til at ændre tegn ' når det skal ned i databsen og ligeledes
når det skal op fra databsen burg replace.

se
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsmthreplace.asp



Thomas Voller (01-06-2003)
Kommentar
Fra : Thomas Voller


Dato : 01-06-03 22:19

> se
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsmthreplace.asp

Det link viser noget om Regular Expressions. Det er måske lige i overkanten,
men kan da godt fungere. En lidt hurtigere måde er at skrive en lille
funktion til at erstatte ' med '', sådan at man kan indsætte i databasen
uden problemer. Det kunne se sådan ud:

Function FixText(Input)
If IsNull(Input) Then
Input = ""
End If
Input = Replace(Input, "'", "''")
FixText = Trim(Input)
End Function

Så kan du bruge funktionen som sådan, her i forbindelse med Request.Form():

Dim strText
strText = FixText(Request.Form("InputFelt"))

Dim strSQL
strSQL = "INSERT INTO [tabel] (Felt) VALUES ('" & strText & "')"

Det skulle virke OK.



Torben Brandt (01-06-2003)
Kommentar
Fra : Torben Brandt


Dato : 01-06-03 22:25

N9 wrote:
>>Jeg har en lille nyheds side og noget mere, og så vil jeg gerne have så
>>man kan skrive ' i nyheder kan det lade sig gøre? hvis man skriver det kommer
>>den bare med database fejl. Det er access database jeg bruger... håber i
>>kan hjælpe!
>
> Bruge replace til at ændre tegn ' når det skal ned i databsen og ligeledes
> når det skal op fra databsen burg replace.

Det er naturligvis en mulighed, men den mest elegante (og nemmeste)
løsning vil være at erstatte en pling (') med to plinger ('') i
SQL-strengen. Det forstår databasen som _én_ pling ('), og dermed har
man det "rigtige" stående i databasen.
Det vil kunne skrives ud direkte ligesom hvis der ikke var plinger i
teksten.

Altså:
strNyhed = Request.Form("nyhed")
strNyhed = Replace(strNyhed, "'", "''")
sql = "INSERT INTO Nyheder (nyhed) VALUES ('" & strNyhed & "')"

/Torben


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste