[英]Exception when attempting to connect to SQL Server CE from C#
我是一個新手,正在嘗試學習一些Web編程。 我正在使用C#在VS 2012中創建網站。 我已經使用SQL Server CE 4.0在App_Data文件夾中連接了一個數據庫。 我嘗試按以下方式連接到它:
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();
執行此操作時,出現以下錯誤:
System.Data.SqlServerCe.dll中發生類型為'System.Data.SqlServerCe.SqlCeException'的異常,但未在用戶代碼中處理
關於我在做什么錯有什么想法嗎? 我已經嘗試了好幾個小時了。
您說過數據庫位於APP_Data目錄中,但是您的連接字符串假定該數據庫位於站點的根目錄中。
試試看
conn.ConnectionString = @"Data Source|DataDirectory|\MyData.sdf;Persist Security Info=False;";
| DataDirectory | 是一個占位符字符串,NET Framework會更改為數據文件應保留在的預定義位置
這就是我要更改您的代碼的方式
using(SqlCeConnection conn = new SqlCeConnection(@"Data Source|DataDirectory|\MyData.sdf;Persist Security Info=False;"))
using(SqlCeCommand cmd1 = new SqlCeCommand("SELECT Admin FROM SystemUsers WHERE Email=@mail", conn))
{
conn.Open();
cmd1.Parameters.AddWithValue("@mail", user.Email);
SqlCeDataReader admin = cmd1.ExecuteReader();
while(admin.Read())
{
.....
}
}
如您所見,我進行了以下更改:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.