我是一個試圖學習一些Web編程的新手。我正在使用C#在VS 2012中創建我的網站。我使用SQL Server CE 4.0在App_Data文件夾中連接了一個數據庫。我嘗試連接到它,如下所示:嘗試從C#連接到SQL Server CE時發生異常
SqlCeCommand cmd1 = new SqlCeCommand("SELECT Admin FROM SystemUsers WHERE Email=" + user.Email);
SqlCeDataReader admin = null;
SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = "Data Source=MyData.sdf;Persist Security Info=False;";
conn.Open();
admin = cmd1.ExecuteReader();
當我執行,我得到了以下錯誤:
An exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll but was not handled in user code
任何想法,以什麼我做錯了嗎?我一直試圖弄清楚這個好幾個小時。
您應該使用'using'與這些對象,如'使用(VAR CMD =新的SqlCommand()){}',所以它們正確地處置並且連接被關閉(任何實現IDisposable的事物)。此外,從不使用字符串連接的SQL語句;你的代碼容易受到SQL注入的攻擊;你應該使用SQL參數。 –
嘗試單步執行調試器中的代碼,並且當異常彈出時,您應該能夠鑽取它以查看消息並可能發現InnerException.Message。該消息可能有點模糊,但這是一個起點。 – AaronLS
在某些情況下,您應該捕獲異常並通過'ex.ToString()' –