﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / ASP / Веб-программирование  / Обработка ошибок входа в БД SQL в asp / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sun, 23 Nov 2008 03:27:13 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>Выполнение страницы продолжается потому что ты перехватил ошибку и ASP о ней ничего неизвестно. Он думает что все в порядке. Поэтому надо или писать делать ветки типа:&lt;/P&gt;&lt;P&gt;If ошибка Then&lt;BR&gt;    Response.Write "Ошибка"&lt;BR&gt;Else&lt;BR&gt;    ' код выполняемый если ошибки нет&lt;BR&gt;End If&lt;/P&gt;&lt;P&gt;Или принудительно завершать выполнение скрипта в случае ошибки:&lt;/P&gt;&lt;P&gt;If ошибка Then&lt;BR&gt;    Response.Write "Ошибка"&lt;BR&gt;    Response.End&lt;BR&gt;End If</description><pubDate>Sat, 07 Jul 2007 11:30:57 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>То есть на страницу-то он пишет слово Error, но почему продолжается выполнение кода?</description><pubDate>Sat, 07 Jul 2007 00:18:25 GMT</pubDate><dc:creator>shturman7</dc:creator></item><item><title>RE: Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>И снова прошу хелп по той же теме:&lt;/P&gt;&lt;P&gt;ставлю обработчик ошибки (&lt;FONT face=Arial&gt;Cannot insert the value NULL into column 'myColumn'......&lt;/FONT&gt;)&lt;/P&gt;&lt;P&gt;On error resume next &lt;/P&gt;&lt;P&gt;SET rs_do_valid = Conn.Execute("DECLARE @a int EXEC @a = my_sp'" &amp;amp; Request.Form("var1") &amp;amp; "', '" &amp;amp; Request.Form("var2") &amp;amp; "' SELECT a = @a") &lt;/P&gt;&lt;P&gt;If Hex(Err.Number) = "80040E14" &lt;/P&gt;&lt;P&gt;Then Response.Write "ERROR"&lt;/P&gt;&lt;P&gt;End If &lt;/P&gt;&lt;P&gt;ON ERROR GOTO 0 &lt;/P&gt;&lt;P&gt;В прошлом случае - при обработке неверного пароля, это работало, правда с редиректом и тут работает. А здесь - пролжает дальнейшую обработку (пытается обратиться к rs_do_valid ("а") и естественно отваливается с ошибкой: Microsoft VBScript&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;error '800a000d'&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;)&lt;/P&gt;&lt;P&gt;Видимо, с записью на страницу что-то по-другому пишется? Хотя ведь он по-любому должен выполнять запись на страницу и отваливаться....&lt;/P&gt;&lt;P&gt;Как?..</description><pubDate>Sat, 07 Jul 2007 00:16:17 GMT</pubDate><dc:creator>shturman7</dc:creator></item><item><title>RE: Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>Спасибо! Все работает:-)</description><pubDate>Fri, 06 Jul 2007 12:59:45 GMT</pubDate><dc:creator>shturman7</dc:creator></item><item><title>RE: Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>Надо использовать команды ON ERROR RESUME NEXT/ON ERROR GOTO 0. Примерно так:&lt;/P&gt;&lt;P&gt;Set Conn = Server.CreateObject("ADODB.Connection")&lt;BR&gt;ON ERROR RESUME NEXT&lt;BR&gt;Conn.Open "ERA", Request.Form("User_name"), Request.Form("Password")&lt;BR&gt;If Err.Number&amp;lt;&amp;gt;0 Then&lt;BR&gt;    ' Ошибка при подключении к БД&lt;BR&gt;End If&lt;BR&gt;ON ERROR GOTO 0</description><pubDate>Fri, 06 Jul 2007 09:30:44 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>Обработка ошибок входа в БД SQL в asp</title><link>http://www.relib.com/forums/Topic914534-4-1.aspx</link><description>Приветствую!&lt;P&gt;Проблема в сл.: Со страницы 1 (из формы) посылается запрос на авторизацию в Сиквельной БД ()&lt;/P&gt;&lt;P&gt;На странице 2 - коннект к БД - &amp;lt;code&amp;gt;Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "ERA", Request.Form("User_name"), Request.Form("Password")&amp;lt;/code&amp;gt;&lt;/P&gt;&lt;P&gt;Нужно обработать ситуацию неправильного пароля и отостлать пользователя на страницу login_error.asp.&lt;/P&gt;&lt;P&gt;Пытаюсь так: &amp;lt;code&amp;gt;Set objASPError = Server.GetLastError If Hex(objASPError.Number) = "80040E4D" Then Response.Redirect("login_error.asp") &amp;lt;/code&amp;gt;&lt;/P&gt;&lt;P&gt;Ноль эмоций. Все равно в строке браузера - текущая страница и ошибка - &lt;/P&gt;&lt;P&gt;Microsoft OLE DB Provider for ODBC Drivers error '80040e4d' &lt;/P&gt;&lt;P&gt;[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'. &lt;/P&gt;&lt;P&gt;/invoices/invoice1.asp, line 19 &lt;/P&gt;&lt;P&gt;Посоветуйте,плз, что можно сделать? &lt;BR&gt;</description><pubDate>Thu, 05 Jul 2007 22:57:13 GMT</pubDate><dc:creator>shturman7</dc:creator></item></channel></rss>