我嘗試從數據庫中查詢數據,有時我在日誌中出現此錯誤:我得到這個SQL傳輸級錯誤,但不是所有的時間
A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The handle is invalid.) The code is inside a try-catch block. What is weird is that i do not get this error all the time. The catch block does get executed.
然而,不管我得到的錯誤或不,下拉列表我試圖填充不填充。好像沒有數據從查詢中返回。
我正在連接數據庫,數據在那裏,我可以打開連接並運行查詢到數據庫。數據庫與運行代碼的位置在同一臺機器上。
另外,代碼工作時,我連接到服務器上的數據庫,但我試圖使本地數據庫工作時,我沒有連接到服務器。當我想從本地數據庫運行時,我只需要更改連接字符串。
下面是查詢數據庫
public static void QueryDB(string query)
{
cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = MyConn;
if (dr != null) dr.Dispose();
dr = cmd.ExecuteReader();
}
這裏是連接字符串連接到數據庫的功能:
MyConn = new SqlConnection("Data Source=tcp:localhost; Database=EscalationManagementSystem; Integrated Security=true;");
是否有錯設置或可這是一個錯誤在代碼中。
在此先感謝。
既然您沒有給我們任何代碼來審查有關造成這個問題的假設是不可靠的。 – 2012-02-02 18:14:30
我猜'dr'是'SqlDataReader'的一些痛處?這是一個全球變量? – 2012-02-02 18:24:07
對不起,是'dr'是'SqlDataReader'。 – DFord 2012-02-02 18:24:57