簡體   English   中英

嘗試從C#連接到SQL Server CE時發生異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM