Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在另一台计算机上运行包含.sdf文件的项目时出错_C#_Winforms_Deployment_Sql Server Ce - Fatal编程技术网

C# 在另一台计算机上运行包含.sdf文件的项目时出错

C# 在另一台计算机上运行包含.sdf文件的项目时出错,c#,winforms,deployment,sql-server-ce,C#,Winforms,Deployment,Sql Server Ce,我在VisualStudio2010中创建了一个c#项目,其中包含一些数据库连接。问题是当我运行正确运行的项目时,以及当我从bin/debug文件夹复制exe文件和dll文件以及所有文件并将其放置在其他位置时。并删除c#项目的项目,并尝试运行exe文件。表单正在正确打开,但打开数据库表单时出错 路径无效。检查数据库的目录。 [路径=E:\WindowsFormsApplication1\WindowsFormsApplication1\Database1.sdf] 它仍然使用我在c代码中编写的目

我在VisualStudio2010中创建了一个c#项目,其中包含一些数据库连接。问题是当我运行正确运行的项目时,以及当我从bin/debug文件夹复制exe文件和dll文件以及所有文件并将其放置在其他位置时。并删除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;

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

  • 解决方案资源管理器中,转到项目
  • 然后从关联菜单中选择
    Add>newitem
  • 转到
    常规
    模板并选择
    应用程序配置文件
步骤2:将连接字符串(包含
.sdf
文件的路径)放入该配置文件:

  • 打开从步骤1获得的新
    app.config
    文件
  • 将这些行添加到
    标记:

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

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

    哪个配置文件?我刚刚从debug文件夹复制了所有文件,以及如何执行您告诉的操作?先生,如何做到这一点?您能帮助我吗?我是c#的新手,刚刚开始。谢谢先生的解释,但是“当您将应用程序复制到新计算机上时,请根据需要调整配置文件中的路径。”先生,这是什么means@shariq_khan:当您将应用程序复制到新计算机的
    c:\yourapp
    中,并将
    .sdf
    文件放入该目录时,您需要手动编辑
    yourapplication.exe.config
    并相应地更改该路径,到
    C:\yourapp\database1.sdf
    配置文件中的连接字符串项必须与
    .sdf
    文件所在的位置完全匹配-驱动器、目录、文件名QLConnection conn=new SQLCEonnection();conn.ConnectionString=ConfigurationManager.ConnectionString[“SomeNameHere”].ConnectionString;长官,配置管理器出现错误,但没有exists@shariq_khan:向项目中添加对
    系统配置
    程序集的引用。。。。
    
    connectionString = ConfigurationManager.ConnectionStrings["SomeNameHere"].ConnectionString;