0

我在 Visual Studio 2010 中创建了 ac# 项目,其中包含一些数据库连接。问题是当我运行正确运行的项目以及复制 exe 文件和 dll 文件以及 bin/debug 文件夹中的所有文件并放置在另一个位置时。并删除作为 c# 项目的项目并尝试运行 exe 文件,该表单正在正确打开,但是当打开数据库表单时,出现此错误

路径无效。检查数据库的目录。
[ 路径 = E:\WindowsFormsApplication1\WindowsFormsApplication1\Database1.sdf ]

它仍然采用我在 c# 代码中编写的目录。

在出现上述错误的第二种形式中,我编写了此代码,文件路径的连接字符串相同,这是错误的。如果它从同一个文件夹中获取路径,为什么会发生这种情况,那么我如何在另一台计算机上运行该项目?

     connectionString = @"E:\WindowsFormsApplication1\
    WindowsFormsApplication1\Database1.sdf";
                sqlConnection = new SqlCeConnection(connectionString);
                selectQueryString = "SELECT * FROM table2";
                sqlConnection.Open();
                sqlDataAdapter = new SqlCeDataAdapter(selectQueryString,
 sqlConnection);
                sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
                dataTable = new DataTable();
                sqlDataAdapter.Fill(dataTable);
                bindingSource = new BindingSource();
                bindingSource.DataSource = dataTable;
                dataGridView1.DataSource = bindingSource;
4

1 回答 1

2

第 1 步:如果您的项目尚未包含app.config- 添加一个:

  • 在你的Solution Explorer,去项目
  • 然后从上下文菜单中选择Add > New Item
  • 转到General模板并选择Application Configuration File

第 2 步:将连接字符串(包含.sdf文件路径)放入该配置文件:

  • 打开app.config您从第 1 步获得的新文件
  • <configuration> ..... </configuration>在标签内添加这些行:

    <connectionStrings>
        <add name="SomeNameHere" 
             connectionString="E:\WindowsFormsApplication1\WindowsFormsApplication1\Database1.sdf"/>
    </connectionStrings>
    

第 3 步:在您的程序中,从该配置中读取连接字符串:

connectionString = ConfigurationManager.ConnectionStrings["SomeNameHere"].ConnectionString;

第 4 步:当您将应用程序复制到新计算机时,根据需要在配置文件中调整该路径。

于 2013-01-28T17:22:38.677 回答