Querystring Values spaces causing errors

J

JP SIngh

I am trying to update my table with a value passed though the
request.querystring method but as you can see from the sql statement below
it is causing errors.

In this case the name of the department as displayed is "Arts and
Entertainment" but it is giving me something strange when I try to use the
variable

update empprofile set department ='Arts%20%26%20Entertainment' where
employeenumber =219104
Microsoft JET Database Engine error '80004005'

You cannot add or change a record because a related record is required in
table 'Departments'.

/admin/updatedept.asp, line 32

Any solutions

Regards

Jas
 
A

Aaron [SQL Server MVP]

If you use post instead of get, you can avoid this error.

If you use id numbers instead of long, un-URL-friendly descriptions to
identify rows, you can avoid this error.
 
B

Bullschmidt

Classic ASP Design Tips - QueryString
http://www.bullschmidt.com/devtip-querystring.asp

Example URL with a querystring:
http://www.mysite.com/mydir/mypg.asp?myvar1=hey&myvar2=ho

Because a variable might contain some odd characters like spaces, it's
usually a good idea to use Server.URLEncode when creating a querystring
from a variable:
<a href="http://www.mysite.com/mypage?id=<%=
Server.URLEncode(objRS("MyIDFldFromDB")) %>">objRS("MyIDFldFromDB")</a>

And in the page that is opened you can use Request.QueryString("id") to
get the value of id.

Best regards,
J. Paul Schmidt, Classic ASP Web Designer
http://www.Bullschmidt.com
Classic ASP Design Tips, ASP Web Database Demo, ASP Bar Chart Tool...
 
D

David C. Holley

The error message is indicating that the database is designed in such a
way that a matching record must exist in the 'Departments' table.
Basically, you're trying to add a record to a table that has a specified
relationship to the 'Departments' table. The problem is not neccessarily
related to the querystring values, however it might be.

Double check that there is a record in the 'Departments' table for 'Arts
& Entertainment'. If a record doest exist, then the problem has to do
with the fact that the special characters are encoded.

'Arts%20%26%20Entertainment' is 'Arts and Entertainment' as far as HTML
is concerned. However, the same statement is
'Arts%20%26%20Entertainment' when it comes to the database. The DB is
seeing the string literally as it appears. So what you need to do is to
convert the encoded characters back to their text versions. I've never
dealt with this particular problem. Server.HTMLEncode() can be used to
encoded the characters initially, however I'm not familar with a means
to unencode them.

You shouldn't have to encode the string to begin with though.
?department=Arts & Entertainment
should work without any problems.*

David H
*In the event that this doesn't work and causes catastrophic results
including but not limited to the destruction of mankind, you're on your
own.

Secon
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top