/ 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
?Replace "
Fra : Ukendt


Dato : 30-01-07 13:19

Hej

Før data skrives til min database udskifter jeg en ' med 2 '' med koden:
<%
IncidentReported = request.form("IncidentReported")
IncidentReported=replace(IncidentReported, Chr(39), Chr(39) & Chr(39))
%>

Jeg vil gerne have mulighed for at skive anførselstegn (") i et felt
defineret som Notat men det funger ikke med koden:
<%
IncidentReported = request.form("IncidentReported")
IncidentReported=replace(IncidentReported, Chr(39), Chr(39) & Chr(39))
IncidentReported=replace(IncidentReported, Chr(34), Chr(34) & Chr(34))
%>

Kan nogen hjælpe med en løsning?

M.v.h.
Henning



 
 
Jens Gyldenkærne Cla~ (30-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-01-07 13:50

Henning Smed skrev:

> Jeg vil gerne have mulighed for at skive anførselstegn (") i
> et felt defineret som Notat men det funger ikke med koden:
> <%
> IncidentReported = request.form("IncidentReported")
> IncidentReported=replace(IncidentReported, Chr(39), Chr(39) &
> Chr(39)) IncidentReported=replace(IncidentReported, Chr(34),
> Chr(34) & Chr(34)) %>

Det er kun apostroffer (') der skal erstattes i en sql-sætning -
det normale anførselstegn (") har ikke nogen speciel betyning i
sql, og det kan sættes ind uden problemer.

Hvis det skal bruges i en html-kode når det udskrives, kan der til
gengæld være brug for at htmlencode " til &quot; for at undgå fejl
som denne: <img src="anftegn.gif" alt="Billede af et "-tegn">.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Ukendt (30-01-2007)
Kommentar
Fra : Ukendt


Dato : 30-01-07 14:06


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns98C88CAED3543jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Henning Smed skrev:
>
>> Jeg vil gerne have mulighed for at skive anførselstegn (") i
>> et felt defineret som Notat men det funger ikke med koden:
>> <%
>> IncidentReported = request.form("IncidentReported")
>> IncidentReported=replace(IncidentReported, Chr(39), Chr(39) &
>> Chr(39)) IncidentReported=replace(IncidentReported, Chr(34),
>> Chr(34) & Chr(34)) %>
>
> Det er kun apostroffer (') der skal erstattes i en sql-sætning -
> det normale anførselstegn (") har ikke nogen speciel betyning i
> sql, og det kan sættes ind uden problemer.
>
> Hvis det skal bruges i en html-kode når det udskrives, kan der til
> gengæld være brug for at htmlencode " til &quot; for at undgå fejl
> som denne: <img src="anftegn.gif" alt="Billede af et "-tegn">.
> --
> Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
> eller Brønshøj, max 6000 pr. måned.
> Kontakt pr. mail - nospam(at)gyros.dk
> Jens Gyldenkærne Clausen

Hej Jens
Mit Form felt er defineret som Textarea, DB feltet som Notat og jeg kan ikke
skrive normale anførselstegn (") til databasen.
Hvis jeg indsætter:

test "test"

i databasen indeholder feltet:

test

M.v.h.
Henning



Jens Gyldenkærne Cla~ (30-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-01-07 14:20

Henning Smed skrev:

> Mit Form felt er defineret som Textarea, DB feltet som Notat
> og jeg kan ikke skrive normale anførselstegn (") til
> databasen. Hvis jeg indsætter:
>
> test "test"
>
> i databasen indeholder feltet:
>
> test

Har du et link til din side?

Opstår problemet når du skal gemme data fra formen til databasen
eller når du skal vise data fra databasen i formen?

Hvordan ser din asp-kode ud der hvor du gemmer i databasen?

Se gerne <http://asp-faq.dk/article/?id=41>.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Ukendt (31-01-2007)
Kommentar
Fra : Ukendt


Dato : 31-01-07 06:41


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns98C891BBE434Ajcdmfdk@gyrosmod.dtext.news.tele.dk...
> Henning Smed skrev:
>
>> Mit Form felt er defineret som Textarea, DB feltet som Notat
>> og jeg kan ikke skrive normale anførselstegn (") til
>> databasen. Hvis jeg indsætter:
>>
>> test "test"
>>
>> i databasen indeholder feltet:
>>
>> test
>
> Har du et link til din side?

Hej Jens
Siden er password beskyttet så jeg kan desværre ikke give en link.

>
> Opstår problemet når du skal gemme data fra formen til databasen
> eller når du skal vise data fra databasen i formen?

Mit problem opstår når data skrives til databasen, og der er samme fejl hvis
en post opdateres med: UPDATE DISTINCTROW

>
> Hvordan ser din asp-kode ud der hvor du gemmer i databasen?
>

Koden når jeg gemmer i databasen:

IncidentReported = request.form("IncidentReported")
IncidentReported=replace(IncidentReported, Chr(39), Chr(39) & Chr(39))
IncidentReported=replace(IncidentReported, Chr(34), Chr(34) & Chr(34))

SQLstmt = "INSERT INTO tblIncidentLog
(IncidentDate,IncidentTime,InitRptBy,OffRptBy,IncidentReported,MonthlyRepType,Status)"
SQLstmt = SQLstmt & "VALUES (" & "(" & DateToSql(datMinDato) & "),'" &
request.form("IncidentTime") & "','" & request.form("InitRptBy") & "','" &
request.form("OffRptBy") & "','" & IncidentReported & "','" &
request.form("MonthlyRepType") & "','" & request.form("Status") & "')"

hvis jeg forsøger at indsætte teksten

test test's "test"

Får jeg følgende når jeg udskriver SQLstmt:
INSERT INTO tblIncidentLog
(IncidentDate,IncidentTime,InitRptBy,OffRptBy,IncidentReported,MonthlyRepType,Status)VALUES
((DateSerial(2007, 1, 31)),'08:00','hss','BBJ','test test''s ','Not
Applicable','CLOSED')

M.v.h.
Henning



Jens Gyldenkærne Cla~ (31-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 31-01-07 11:42

Henning Smed Sørensen skrev:

> Hej Jens
> Siden er password beskyttet så jeg kan desværre ikke give en
> link.

Overvej at lægge en kopi ud uden kode.


> Mit problem opstår når data skrives til databasen, og der er
> samme fejl hvis en post opdateres med: UPDATE DISTINCTROW

Distinctrow er IMO noget snavs. Hvordan ser din opdateringssætning
ud?


> IncidentReported = request.form("IncidentReported")
> IncidentReported=replace(IncidentReported, Chr(39), Chr(39) &
> Chr(39)) IncidentReported=replace(IncidentReported, Chr(34),
> Chr(34) & Chr(34))

Som nævnt tidligere skal du kun erstatte apostroffer - ikke
dobbelte anførselstegn. Det kan gøres lidt mere læsbart med
følgendE:

   IncidentReported = replace(IncidentReported, "'", "''")


> hvis jeg forsøger at indsætte teksten
>
> test test's "test"
>
> Får jeg følgende når jeg udskriver SQLstmt:
> INSERT INTO tblIncidentLog
> (IncidentDate,IncidentTime,InitRptBy,OffRptBy,IncidentReported,
> MonthlyRepType,Status)VALUES ((DateSerial(2007, 1,
> 31)),'08:00','hss','BBJ','test test''s ','Not
> Applicable','CLOSED')

Hvad sker der hvis du undlader den ekstra replace-linje?
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Ukendt (31-01-2007)
Kommentar
Fra : Ukendt


Dato : 31-01-07 12:14


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns98C9770B4F1E9jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Henning Smed Sørensen skrev:
>
>> Hej Jens
>> Siden er password beskyttet så jeg kan desværre ikke give en
>> link.
>
> Overvej at lægge en kopi ud uden kode.
>
>
>> Mit problem opstår når data skrives til databasen, og der er
>> samme fejl hvis en post opdateres med: UPDATE DISTINCTROW
>
> Distinctrow er IMO noget snavs. Hvordan ser din opdateringssætning
> ud?
>
>
>> IncidentReported = request.form("IncidentReported")
>> IncidentReported=replace(IncidentReported, Chr(39), Chr(39) &
>> Chr(39)) IncidentReported=replace(IncidentReported, Chr(34),
>> Chr(34) & Chr(34))
>
> Som nævnt tidligere skal du kun erstatte apostroffer - ikke
> dobbelte anførselstegn. Det kan gøres lidt mere læsbart med
> følgendE:
>
> IncidentReported = replace(IncidentReported, "'", "''")
>
>
>> hvis jeg forsøger at indsætte teksten
>>
>> test test's "test"
>>
>> Får jeg følgende når jeg udskriver SQLstmt:
>> INSERT INTO tblIncidentLog
>> (IncidentDate,IncidentTime,InitRptBy,OffRptBy,IncidentReported,
>> MonthlyRepType,Status)VALUES ((DateSerial(2007, 1,
>> 31)),'08:00','hss','BBJ','test test''s ','Not
>> Applicable','CLOSED')
>
Hej Jens

Jeg har fundet ud af at fejlen ikke opstår når jeg skriver til databasen.
Når en post oprettes sendes e-mails til en foruddefineret mail gruppe, og
for at undgå at brugeren gensender fordi ventiden er for lang, har jeg en
"please wait" side som læser data fra formularen og indsætter i en skjult
form med auto submit.
Med nogle response.write har jeg fundet ud af at når jeg i et "Textarea"
indsætter teksten:

test " test"

kan jeg udskrive teksten med

<%=request.form("IncidentReported")%>

Men når teksten overføres til in ny formular med:
<input type="textarea" name="IncidentReported"
value="<%=request.form("IncidentReported")%>">
eller
<input type="hidden" name="IncidentReported"
value="<%=request.form("IncidentReported")%>">

Er indholdet kun

test

Så jeg må i gang med noget replace før indholdet indsættes i den ny
formular.

M.v.h.
Henning



Jens Gyldenkærne Cla~ (31-01-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 31-01-07 16:14

Henning Smed skrev:

> Jeg har fundet ud af at fejlen ikke opstår når jeg skriver til
> databasen. Når en post oprettes sendes e-mails til en
> foruddefineret mail gruppe, og for at undgå at brugeren
> gensender fordi ventiden er for lang, har jeg en "please wait"
> side som læser data fra formularen og indsætter i en skjult
> form med auto submit.

Det forklarer en del.

> Men når teksten overføres til in ny formular med:
> <input type="textarea" name="IncidentReported"
> value="<%=request.form("IncidentReported")%>">

Textarea er ikke en gyldig type til input.

Brug i stedet
<textarea name="IncidentReported"><%=
Request.Form("IncidentReported") %></textarea>

> <input type="hidden" name="IncidentReported"
> value="<%=request.form("IncidentReported")%>">

Hvis du kigger godt på ovenstående linje (eller det foregående
ugyldige eksempel) - og forestiller dig hvordan det ser ud når du
indsætter teksten »test " test"« - kan du måske regne ud hvorfor du
mangler noget i databasen. Hvis det ikke er nok, så prøv at kigge
på den genererede html-kode.

Du kan slippe for problemet ved at erstatte anførselstegn med
&quot; og muligvis også < og > med &lt; og &gt;. Normalt kan man
bare bruge server.htmlencode til det, men det vil også få bogstaver
som æ, ø og å til at blive lavet om - og så vidt jeg ved vil de så
også stå kodet i databasen.

I stedet for alt bøvlet med formularen, kan du gemme værdierne i
sessionvariable eller bare gemme i databasen først og så sende
mails bagefter. Men hvis du vil bruge formularen, så brug et
textarea som på den oprindelige formular. Det kan evt. skjules med
css hvis man ikke må se det.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Ukendt (31-01-2007)
Kommentar
Fra : Ukendt


Dato : 31-01-07 18:26


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns98C9A5199607Cjcdmfdk@gyrosmod.cybercity.dk...
> Henning Smed skrev:
>
>> Jeg har fundet ud af at fejlen ikke opstår når jeg skriver til
>> databasen. Når en post oprettes sendes e-mails til en
>> foruddefineret mail gruppe, og for at undgå at brugeren
>> gensender fordi ventiden er for lang, har jeg en "please wait"
>> side som læser data fra formularen og indsætter i en skjult
>> form med auto submit.
>
> Det forklarer en del.
>
>> Men når teksten overføres til in ny formular med:
>> <input type="textarea" name="IncidentReported"
>> value="<%=request.form("IncidentReported")%>">
>
> Textarea er ikke en gyldig type til input.
>
> Brug i stedet
> <textarea name="IncidentReported"><%=
> Request.Form("IncidentReported") %></textarea>
>
>> <input type="hidden" name="IncidentReported"
>> value="<%=request.form("IncidentReported")%>">
>
> Hvis du kigger godt på ovenstående linje (eller det foregående
> ugyldige eksempel) - og forestiller dig hvordan det ser ud når du
> indsætter teksten »test " test"« - kan du måske regne ud hvorfor du
> mangler noget i databasen. Hvis det ikke er nok, så prøv at kigge
> på den genererede html-kode.
>
> Du kan slippe for problemet ved at erstatte anførselstegn med
> &quot; og muligvis også < og > med &lt; og &gt;. Normalt kan man
> bare bruge server.htmlencode til det, men det vil også få bogstaver
> som æ, ø og å til at blive lavet om - og så vidt jeg ved vil de så
> også stå kodet i databasen.
>
> I stedet for alt bøvlet med formularen, kan du gemme værdierne i
> sessionvariable eller bare gemme i databasen først og så sende
> mails bagefter. Men hvis du vil bruge formularen, så brug et
> textarea som på den oprindelige formular. Det kan evt. skjules med
> css hvis man ikke må se det.

Hej Jens
Tak for dit svar,
Ja problemet var min formular, jeg har ændret feltet til textaera og alt
fungerer.
M.v.h.
Henning



Jens Gyldenkærne Cla~ (01-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-02-07 14:10

Henning Smed citerede et helt indlæg og skrev:

> Tak for dit svar,
> Ja problemet var min formular, jeg har ændret feltet til
> textaera og alt fungerer.

Godt - tillykke med det. Hvis du vil gøre lidt til gengæld, må du
gerne læse min signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste