2012-07-06 60 views
-1

在我的ASP頁面,我把「下一次錯誤的簡歷」,並在文件的最後,我做ASP 3.0考慮從SQL Server輸出和警告作爲錯誤

If err.number <> 0 then 
response.write "error" 
end if 

但ASP頁面正在考慮PRINT並將來自SQL Server過程的消息警告爲ERROR並在IF條件中輸入。

爲什麼這發生在一些服務器和另一個它不?

Tks。

回答

0

它可能發生在不同的服務器上,因爲您在SET ANSI_WARNINGS中的設置在某些情況下爲ON,在其他情況下爲OFF。你可以通過調查sys.dm_exec_sessions來看到。由於對不同應用程序的此選項和其他選項有不同的設置可能會導致性能差別很大,因此在所有應用程序中明確和一致地設置這些選項對您最有利。

+0

但打印命令是不是一個警告消息。即使我的TSQL不顯示任何警告消息,但打印,ASP將認爲它是一個錯誤。 – Onaiggac 2012-07-20 19:17:28

0

Err.Number的<> 0是僅直接其崩潰的語句之後...

這樣:

ii = 1/0 
xx= 3 
if err.number <> then 
    response.write "This will never be printed..." 
end if 
+0

是的,因爲代碼有錯誤,如果err.number <> 0 ...然後消息是打印的。 – Onaiggac 2012-07-23 19:06:58