469,963 Members | 1,293 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,963 developers. It's quick & easy.

Trapping odbc error when exec'ing INSERT command

I hope this is the right group for this question, if it's not please
direct me.

I have a data-driven website that allows users to enter records for
sales leads. It all works perfectly. The only thing I want to do
right now is prohibit users from entering the same lead twice. I have
a PK field in the MS Access database that, obviously, disallows
duplicate records. However, when such an attempt is made, the browser
redirects to some generic ODBC error page with some cryptic numbers
and other information that will stymie the users. "It doesn't work",
they will say. The text of that error indicates that they tried to
add a record that violates the PK rule of disallowing duplicate
records. But they probably won't read it and it's truly ugly anyway.

How can I redirect to a custom error page or trap the error before the
ODBC error page is displayed and just display a msgbox or something
telling the user they attempted to add a record that already exists?

Thank you
Jul 22 '05 #1
4 1984
Sql = "..."
on error resume next
Conn.execute sql,,129
If err.number <> 0 then
Response.write "<script>alert('" & err.description & "');</script>"
Else
... Continue processing
End if

Also see http://www.aspfaq.com/2509
On 3/22/05 12:37 AM, in article js********************************@4ax.com,
"Doo-Dah Man" <ye**@right.com> wrote:
I hope this is the right group for this question, if it's not please
direct me.

I have a data-driven website that allows users to enter records for
sales leads. It all works perfectly. The only thing I want to do
right now is prohibit users from entering the same lead twice. I have
a PK field in the MS Access database that, obviously, disallows
duplicate records. However, when such an attempt is made, the browser
redirects to some generic ODBC error page with some cryptic numbers
and other information that will stymie the users. "It doesn't work",
they will say. The text of that error indicates that they tried to
add a record that violates the PK rule of disallowing duplicate
records. But they probably won't read it and it's truly ugly anyway.

How can I redirect to a custom error page or trap the error before the
ODBC error page is displayed and just display a msgbox or something
telling the user they attempted to add a record that already exists?

Thank you


Jul 22 '05 #2
Wow! Thanks for the quick response. I will give this a try tomorrow.

And thanks also for the great link.


On Tue, 22 Mar 2005 01:02:47 -0500, "Aaron [SQL Server MVP]"
<te*****@dnartreb.noraa> stood up, looked around, realized where he
was, and wrote:
Sql = "..."
on error resume next
Conn.execute sql,,129
If err.number <> 0 then
Response.write "<script>alert('" & err.description & "');</script>"
Else
... Continue processing
End if

Also see http://www.aspfaq.com/2509
On 3/22/05 12:37 AM, in article js********************************@4ax.com,
"Doo-Dah Man" <ye**@right.com> wrote:
I hope this is the right group for this question, if it's not please
direct me.

I have a data-driven website that allows users to enter records for
sales leads. It all works perfectly. The only thing I want to do
right now is prohibit users from entering the same lead twice. I have
a PK field in the MS Access database that, obviously, disallows
duplicate records. However, when such an attempt is made, the browser
redirects to some generic ODBC error page with some cryptic numbers
and other information that will stymie the users. "It doesn't work",
they will say. The text of that error indicates that they tried to
add a record that violates the PK rule of disallowing duplicate
records. But they probably won't read it and it's truly ugly anyway.

How can I redirect to a custom error page or trap the error before the
ODBC error page is displayed and just display a msgbox or something
telling the user they attempted to add a record that already exists?

Thank you


Jul 22 '05 #3
Doo-Dah Man wrote:
I hope this is the right group for this question, if it's not please
direct me.

Please do not multipost Doo-Dah.This is definitely a database-related
question so .asp.db was the perfect group in which to post it. Posting it
here as well did not increase your chances of getting an answer (most of us
subscribe to both groups). On the contrary, if somebody had taken his time
to answer it here, only to find that it was already resolved in the other
group, that person may have been annoyed enough to ignore any future posts
from you, thereby decreasing your chances of getting help in the future.

There are times when you will not be sure which group is most appropriate
(again, this was not one of them), and you will want to post a question to
both groups. In that situation, you should use the cross-posting technique,
rather than posting the same message multiple times. To crosspost, put
a semicolon-delimited* list of the newsgroups to which you wish to post in
the To: header of your post and post it once. It, and any replies to it,
will appear in all the newsgroups in your list. So, if I reply in .asp.db,
my reply will also appear here in .asp.general.

* ... or whatever delimiter is recognized by your news client

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 22 '05 #4
Gotcha. Thanks for letting me know.


On Tue, 22 Mar 2005 06:47:31 -0500, "Bob Barrows [MVP]"
<re******@NOyahoo.SPAMcom> stood up, looked around, realized where he
was, and wrote:
Doo-Dah Man wrote:
I hope this is the right group for this question, if it's not please
direct me.

Please do not multipost Doo-Dah.This is definitely a database-related
question so .asp.db was the perfect group in which to post it. Posting it
here as well did not increase your chances of getting an answer (most of us
subscribe to both groups). On the contrary, if somebody had taken his time
to answer it here, only to find that it was already resolved in the other
group, that person may have been annoyed enough to ignore any future posts
from you, thereby decreasing your chances of getting help in the future.

There are times when you will not be sure which group is most appropriate
(again, this was not one of them), and you will want to post a question to
both groups. In that situation, you should use the cross-posting technique,
rather than posting the same message multiple times. To crosspost, put
a semicolon-delimited* list of the newsgroups to which you wish to post in
the To: header of your post and post it once. It, and any replies to it,
will appear in all the newsgroups in your list. So, if I reply in .asp.db,
my reply will also appear here in .asp.general.

* ... or whatever delimiter is recognized by your news client


Jul 22 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by crypto_solid via AccessMonster.com | last post: by
2 posts views Thread by Greg Corradini | last post: by
1 post views Thread by rainxy | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.