472,145 Members | 1,373 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,145 software developers and data experts.

syntax error in replace statement

What's wrong with this code?

strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)

Background:
This field is a textarea, and I needed to account for apostrophes, which I
had already done, and replaced line breaks with html line breaks on my page
which displays this stuff. That works fine. But then a user entered this
line, pasted from a log file:
SQL Statement: <SELECT * FROM etc., etc.

Which resulted in an actual dropdown box being displayed, and all the rest
of the description after that point was not displayed. So I tried to put in
code to replace the < and > with a &lt; and &gt; and the code I get when the
page loads is:

Microsoft VBScript compilation (0x800A03EA)
Syntax error
/AddToTicket.asp, line 75, column 106
strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)
----------------------------------------------------------------------------
-----------------------------^
Jul 19 '05 #1
8 4406
Well, I found the problem with the syntax, but now it simply doesn't work.

Here is my code:

strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<","&lt;"),">","&gt;")

and of course, I insert strLongDesc into a field in SQL Server, and when I
open it up in SQL Server, it still shows what I typed into the textarea,
which is <select>, whereas I should see &lt;select&gt;

What am I doing wrong?

"middletree" <mi********@htomail.com> wrote in message
news:Oc**************@TK2MSFTNGP11.phx.gbl...
What's wrong with this code?

strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC rLf,"<br>"),"<",&lt;),"<",&gt;)

Background:
This field is a textarea, and I needed to account for apostrophes, which I
had already done, and replaced line breaks with html line breaks on my page which displays this stuff. That works fine. But then a user entered this
line, pasted from a log file:
SQL Statement: <SELECT * FROM etc., etc.

Which resulted in an actual dropdown box being displayed, and all the rest
of the description after that point was not displayed. So I tried to put in code to replace the < and > with a &lt; and &gt; and the code I get when the page loads is:

Microsoft VBScript compilation (0x800A03EA)
Syntax error
/AddToTicket.asp, line 75, column 106
strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC rLf,"<br>"),"<",&lt;),"<",&gt;)
-------------------------------------------------------------------------- -- -----------------------------^

Jul 19 '05 #2
(a) you need double quotes around "&lt;" and "&gt;"

(b) how about:

strLongDesc = trim(server.HTMLEncode(Request.Form("LongDesc")))
strLongDesc = replace(replace(strLongDesc,"'","''"),VBCrLf,"<br> ")


"middletree" <mi********@htomail.com> wrote in message
news:Oc**************@TK2MSFTNGP11.phx.gbl...
What's wrong with this code?

strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC rLf,"<br>"),"<",&lt;),"<",&gt;)

Background:
This field is a textarea, and I needed to account for apostrophes, which I
had already done, and replaced line breaks with html line breaks on my page which displays this stuff. That works fine. But then a user entered this
line, pasted from a log file:
SQL Statement: <SELECT * FROM etc., etc.

Which resulted in an actual dropdown box being displayed, and all the rest
of the description after that point was not displayed. So I tried to put in code to replace the < and > with a &lt; and &gt; and the code I get when the page loads is:

Microsoft VBScript compilation (0x800A03EA)
Syntax error
/AddToTicket.asp, line 75, column 106
strLongDesc =
Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC rLf,"<br>"),"<",&lt;),"<",&gt;)
-------------------------------------------------------------------------- -- -----------------------------^

Jul 19 '05 #3
> when I open it up in SQL Server,

Where in SQL Server? Don't use Enterprise Manager for viewing data (e.g.
Return all rows). It is liable to do all sorts of funky things in order to
present the data to you in a "friendly" way (for some other issues see
http://www.aspfaq.com/2455). Run a SELECT query in Query Analyzer. Also,
response.write(sql) to make sure the replacements were done.

Another piece of friendly advice: store the statement as is, and use
Server.HTMLEncode when you *retrieve* and *display* it. HTML formatting has
little use/place inside the database.
Jul 19 '05 #4
OK, I've not gotten familiar with HTMLEncode. That will take care of the <
and other characters, then?

I'll try it out. Thanks, very much.

I also never knew that that you said about Enterprise Mgr vs. Query analyzer
in the other post. thanks
"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:eV*************@TK2MSFTNGP10.phx.gbl...
(a) you need double quotes around "&lt;" and "&gt;"

(b) how about:

strLongDesc = trim(server.HTMLEncode(Request.Form("LongDesc")))
strLongDesc = replace(replace(strLongDesc,"'","''"),VBCrLf,"<br> ")


"middletree" <mi********@htomail.com> wrote in message
news:Oc**************@TK2MSFTNGP11.phx.gbl...
What's wrong with this code?

strLongDesc =

Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)

Background:
This field is a textarea, and I needed to account for apostrophes, which I had already done, and replaced line breaks with html line breaks on my

page
which displays this stuff. That works fine. But then a user entered this
line, pasted from a log file:
SQL Statement: <SELECT * FROM etc., etc.

Which resulted in an actual dropdown box being displayed, and all the rest of the description after that point was not displayed. So I tried to put

in
code to replace the < and > with a &lt; and &gt; and the code I get when

the
page loads is:

Microsoft VBScript compilation (0x800A03EA)
Syntax error
/AddToTicket.asp, line 75, column 106
strLongDesc =

Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)


--------------------------------------------------------------------------
--
-----------------------------^


Jul 19 '05 #5
Well, I tried it exactly as you have it in (b) below, and it didn't work.
Also tried it with double quotes around the &lt, and it still stored my text
of <select> as <select>, which displayed as a dropdown.
"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:eV*************@TK2MSFTNGP10.phx.gbl...
(a) you need double quotes around "&lt;" and "&gt;"

(b) how about:

strLongDesc = trim(server.HTMLEncode(Request.Form("LongDesc")))
strLongDesc = replace(replace(strLongDesc,"'","''"),VBCrLf,"<br> ")


"middletree" <mi********@htomail.com> wrote in message
news:Oc**************@TK2MSFTNGP11.phx.gbl...
What's wrong with this code?

strLongDesc =

Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)

Background:
This field is a textarea, and I needed to account for apostrophes, which I had already done, and replaced line breaks with html line breaks on my

page
which displays this stuff. That works fine. But then a user entered this
line, pasted from a log file:
SQL Statement: <SELECT * FROM etc., etc.

Which resulted in an actual dropdown box being displayed, and all the rest of the description after that point was not displayed. So I tried to put

in
code to replace the < and > with a &lt; and &gt; and the code I get when

the
page loads is:

Microsoft VBScript compilation (0x800A03EA)
Syntax error
/AddToTicket.asp, line 75, column 106
strLongDesc =

Replace(Replace(Replace(Replace(Trim(Request.Form( "LongDesc")),"'","''"),vbC
rLf,"<br>"),"<",&lt;),"<",&gt;)


--------------------------------------------------------------------------
--
-----------------------------^


Jul 19 '05 #6
"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:eg*************@TK2MSFTNGP10.phx.gbl...
when I open it up in SQL Server,
Where in SQL Server? Don't use Enterprise Manager for viewing data (e.g.
Return all rows). It is liable to do all sorts of funky things in order

to present the data to you in a "friendly" way (for some other issues see
http://www.aspfaq.com/2455). Run a SELECT query in Query Analyzer. Also,
response.write(sql) to make sure the replacements were done.
As it turned out, the Query A vs. Ent Mgr were both displying correctly, but
I will make sure i view the data correctly from now on. But the problem is
that the replace function is not working. I verified this per your
suggestion with the response.write statement. It does just fine with the
<br> and quotes. Very puzzling and frustrating


Another piece of friendly advice: store the statement as is, and use
Server.HTMLEncode when you *retrieve* and *display* it. HTML formatting has little use/place inside the database.

Jul 19 '05 #7
Then my guess is there are no < or > characters for replacement? Compare
this to the completed SQL statement:

Response.write(request.form("whatever_the_variable _was"))


"middletree" <mi********@htomail.com> wrote in message
news:#S**************@TK2MSFTNGP10.phx.gbl...
"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:eg*************@TK2MSFTNGP10.phx.gbl...
when I open it up in SQL Server,
Where in SQL Server? Don't use Enterprise Manager for viewing data (e.g. Return all rows). It is liable to do all sorts of funky things in order

to
present the data to you in a "friendly" way (for some other issues see
http://www.aspfaq.com/2455). Run a SELECT query in Query Analyzer. Also, response.write(sql) to make sure the replacements were done.


As it turned out, the Query A vs. Ent Mgr were both displying correctly,

but I will make sure i view the data correctly from now on. But the problem is
that the replace function is not working. I verified this per your
suggestion with the response.write statement. It does just fine with the
<br> and quotes. Very puzzling and frustrating


Another piece of friendly advice: store the statement as is, and use
Server.HTMLEncode when you *retrieve* and *display* it. HTML formatting

has
little use/place inside the database.


Jul 19 '05 #8
Well, had typed:

<select>

into the textarea, and verified that this is what went in, both by
response.write, and looking into SQL Server.


"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:ut**************@TK2MSFTNGP10.phx.gbl...
Then my guess is there are no < or > characters for replacement? Compare
this to the completed SQL statement:

Response.write(request.form("whatever_the_variable _was"))


"middletree" <mi********@htomail.com> wrote in message
news:#S**************@TK2MSFTNGP10.phx.gbl...
"Aaron Bertrand [MVP]" <aa***@TRASHaspfaq.com> wrote in message
news:eg*************@TK2MSFTNGP10.phx.gbl...
> when I open it up in SQL Server,

Where in SQL Server? Don't use Enterprise Manager for viewing data (e.g. Return all rows). It is liable to do all sorts of funky things in
order
to
present the data to you in a "friendly" way (for some other issues see
http://www.aspfaq.com/2455). Run a SELECT query in Query Analyzer. Also, response.write(sql) to make sure the replacements were done.


As it turned out, the Query A vs. Ent Mgr were both displying correctly,

but
I will make sure i view the data correctly from now on. But the problem

is that the replace function is not working. I verified this per your
suggestion with the response.write statement. It does just fine with the
<br> and quotes. Very puzzling and frustrating


Another piece of friendly advice: store the statement as is, and use
Server.HTMLEncode when you *retrieve* and *display* it. HTML
formatting has
little use/place inside the database.



Jul 19 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Gérard Leclercq | last post: by
6 posts views Thread by Peter Frost | last post: by
6 posts views Thread by iam247 | last post: by
1 post views Thread by amitbadgi | last post: by
5 posts views Thread by amitbadgi | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.