0

我正在创建一个简单的 Windows C# 表单应用程序。但我无法连接到本地数据库文件(.sdf)

我在用着

using System.Data.SqlServerCe;

这是我的 app.config 文件

<add name="ConnectionString1"
       connectionString="Data Source=D:\Work Place_VS\Dilshan_Hardware\Dilshan_Hardware\Database\AppDB.sdf"
       providerName="Microsoft.SqlServerCe.Client.3.5" />

 <add name="ConnectionString2"
       connectionString="Data Source=|DataDirectory|\Database\AppDB.sdf"
       providerName="Microsoft.SqlServerCe.Client.3.5" />

我正在尝试通过以下代码连接数据库文件。

try
   {
      using (SqlCeConnection cn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString()))
   {
     SqlCeCommand cmd = new SqlCeCommand("SELECT routeName FROM tbl_route", cn);
     cn.Open();
     SqlCeDataReader reader1 = cmd.ExecuteReader();

    while (reader1.Read())
    {
      MessageBox.Show("Result :" + reader1[0]);
     }
    }

}
catch (Exception ex)
 {
    MessageBox.Show("Error :" + ex.ToString());

}

即使我使用ConnectionString1或者ConnectionString2它总是在尝试创建connectionString时跳转到catch块。

请帮我找出这段代码的错误。

4

1 回答 1

0

我认为您需要添加Persist SecurityInfo 值

尝试以下操作:

<add name="ConnectionString1"
           connectionString="Data Source=D:\Work Place_VS\Dilshan_Hardware\Dilshan_Hardware\Database\AppDB.sdf;Persist Security Info=false;"
           providerName="Microsoft.SqlServerCe.Client.3.5"
于 2015-12-08T19:48:46.397 回答