Как проверить, выполняется ли SQL-запрос без ошибок в ASP? - PullRequest
1 голос
/ 05 апреля 2010

Вот мой код:

if Request.Form("authorize") <> "" and request.form("delete") <> "true" then
    post_ids = Request.form("authorize")
    ids = split(post_ids, ",")

    For i = LBound(ids) to UBound(ids)
        sql = "update tbl_comments set authorized = 'true' where comment_id = " & ids(i)
        pageDB.execute(sql)
    Next

    message = "<div id=""succeed""><strong>Updated</strong>: Your comments have been approved.</div>"
end if

Вместо того, чтобы просто установить «сообщение» для сообщения об успехе, я хотел бы сделать что-то вроде ...

if(pageDB.execute(sql) was succesful) then
    message = "<div id=""succeed""><strong>Updated</strong>: Your comments have been approved.</div>"
else 
    message = "<div id=""error""><strong>Error</strong>: Your comments have not been approved.</div>"
end if

1 Ответ

1 голос
/ 05 апреля 2010

Вам нужно поместить вашу страницу DB.execute (sql) в блок try catch

Примерно так

message = "<div id=""succeed""><strong>Updated</strong>: Your comments have been approved.</div>"
Try
   pageDB.execute(sql)
Catch ex as Exception
   message = "<div id=""error""><strong>Error</strong>: Your comments have not been approved.</div>"
End Try

Как следует из комментария к вашему вопросу, вы НЕ должны обновлять базу данных SQL, подобную этой, так как вы подвергаете свою базу данных хакерству (очень легко взломать)

Попробуйте вместо этого использовать параметры команды. Об этом много в сети.

Редактировать

Теперь, когда мы говорим о классической обработке ошибок ASP, это не так просто, но все же возможно. Это большая тема, поэтому я рекомендую взглянуть на эту статью.

http://www.15seconds.com/issue/990603.htm

Какой тип объекта является pageDB?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...