sqlservertrycatch
A. sqlserver安裝時失敗,提示遇到以下錯誤:未將對象引用設置到對象的實例。這個是什麼意思要怎麼解決
您好,一、網路上的一般說法:
1、ViewState 對象為Null。
2、DateSet 空。
3、sql語句或Datebase的原因導致DataReader空。
4、聲明字元串變數時未賦空值就應用變數。
5、未用new初始化對象。
6、Session對象為空。
7、對控制項賦文本值時,值不存在。
8、使用Request.QueryString()時,所獲取的對象不存在,或在值為空時未賦初始值。
9、使用FindControl時,控制項不存在卻沒有做預處理。
10、重復定義造成未將對象引用設置到對象的實例錯誤.
二、(1)所設置的變數為空值或沒有取到值,一般出現在傳遞參數的時候出現這個問題,也會在使用DataGrid或gridview或datalist等數據控制項時出現.
(2)控制項名稱與codebehind裡面的沒有對應
(3)未用new初始化對象
(4)在程序中所引用的控制項不存在
解決方法:
(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值
(2)查看代碼中是否存在未初始化的變數
三、
SqlConnection.Open 未將對象引用設置到對象的實例
在使用VS2003開發 ASP.NET程序時候 有時候操作 SqlConnection對象的Open()方法時候會出現
未將對象引用設置到對象的實例。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.NullReferenceException: 未將對象引用設置到對象的實例。
源錯誤:
。。。。
conn.Open();
......
跟蹤調試也肯定可以確定 對conn進行new 操作 但是程序經常在這個地方報錯,但是有時候重啟伺服器或者重啟IIS有能正常使用了。 怎麼調試也找不到問題 那麼這個時候可能是 你本機上安裝的.NET FRAMEEWORK 框架有問題,可能沒有沒有安裝SP1.1補丁
需要打NET FRAMEEWORK1.1 SP1的補丁,到微軟官方網站下載安裝後就好了。
B. 如何屏蔽掉sqlserver發出的錯誤警告,多謝
無法屏蔽,最多你只能做到使用try塊包含會報錯的語句塊,然後在catch塊中添加你想在報錯後還要繼續的功能動作。但是如果錯誤級別太高,同樣無法避免,具體請參考:
https://msdn.microsoft.com/zh-cn/library/ms175976.aspx
不受 TRY…CATCH 構造影響的錯誤
TRY…CATCH 構造在下列情況下不捕獲錯誤:
嚴重級別為 10 或更低的警告或信息性消息。
嚴重級別為 20 或更高且終止會話的 SQL Server 資料庫引擎任務處理的錯誤。 如果所發生錯誤的嚴重級別為 20 或更高,而資料庫連接未中斷,則 TRY…CATCH 將處理該錯誤。
需要關注的消息,如客戶端中斷請求或客戶端連接中斷。
當系統管理員使用 KILL 語句終止會話時。
如果以下類型的錯誤的發生級別與 TRY…CATCH 構造的執行等級相同,則 CATCH 塊不會處理這些錯誤:
編寫錯誤,例如禁止運行批處理的語法錯誤。
語句級重新編寫過程中出現的錯誤,例如由於名稱解析延遲而造成在編寫後出現對象名解析錯誤。
C. java+sqlserver資料庫鏈接釋放的問題。
注意關閉的問題
try catch里關了Connection,finally里最好也判斷一下
沒關就關了
Connection conn;
preparedStatement pss;
conn.close();
pss.close();
preparedStatement pss =null;
Connection conn = null;
try
{
if (pss != null)
pss.close();
}
catch(Exception e) {}
try
{
if (conn != null)
conn.close();
}
catch (Exception e){}
}
D. JAVA連接SQL資料庫
本文將介紹使用java連接sqlserver資料庫
工具/材料
myeclipse 、 SqlServer資料庫
方法:
1、要向連接資料庫,首先應該保證資料庫服務打開
2、資料庫服務打開之後就可以在環境中編寫連接代碼了。如圖:
連接資料庫就是這兩個步驟:1)載入驅動、2)創建連接。
注意在導包是導入的java.sql下的。
接下來直接運行一下就可以測試是否連接成功了
E. 如何在sqlserver 的函數或存儲過程中拋出異常。
try...catch
F. SQLServer中@@error與try ···catch的區別
@@error 是報告前面的語句發生的錯誤。
try ...catch 是通過TRY 指定一個程序段,程序段中發生任何錯誤 後由CATCH程序段來處理。