即使成功构建项目,应用程序也无法与MDF文件建立连接[Visual Studio 2010 C#]

即使成功构建项目,应用程序也无法与MDF文件建立连接[Visual Studio 2010 C#],c#,visual-studio-2010,database-connection,C#,Visual Studio 2010,Database Connection,我刚刚学习了VisualStudio2010C#三个月。我添加了名为“PUBS.MDF”的数据源,这是来自Microsoft的示例数据库,如“NORTHWIND.MDF”。并编写代码,用以下代码连接数据源: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Sys

我刚刚学习了VisualStudio2010C#三个月。我添加了名为“PUBS.MDF”的数据源,这是来自Microsoft的示例数据库,如“NORTHWIND.MDF”。并编写代码,用以下代码连接数据源:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication18
{
 public partial class Form1 : Form
  {
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        string constr = @"Data Source=.\SQLEXPRESS;
                        AttachDbFilename=|DataDirectory|\PUBS.mdf;
                        Integrated Security=True;User Instance=True;";
        SqlConnection connection = new SqlConnection(constr);
        connection.Open();
        string sql = "SELECT * FROM authors";
        SqlCommand command = new SqlCommand(sql, connection);
        textBox1.Text = (string)command.ExecuteScalar();
    }

  }
}
此代码调试成功,如下图所示:

但是,在我构建项目后,在我的计算机(window7)中安装,然后单击打开应用程序(我还单击“以管理员身份运行”),它会显示错误窗口,如下图所示:

有人请帮帮我

附言

这就是我在应用程序中添加PUBS.MDF文件的方式

  • 单击选项卡“数据”
  • 单击“添加新数据源…”
  • 选择“数据库”
  • 选择“数据集”
  • 浏览“PUBS.MDF”文件
  • 这就是我构建项目的方式

  • 单击选项卡“文件”>添加>新建项目>Visual Studio安装程序>设置项目
  • 右键单击“应用程序文件夹”>“添加”>“项目输出”>“主输出”
  • 右键单击“应用程序文件夹”>“添加”>“文件…”>浏览“PUBS.MDF”文件
  • 在“解决方案资源管理器”窗口中,右键单击项目名称>单击“构建”,并等待它显示消息“Build secceed”
  • 我也上传了这个项目,请通过这个链接下载-->


    我以前在这里发布的问题与此-->几乎相同,但在这种情况下,数据库是.accdb文件,可以通过单击“以管理员身份运行”来解决,但这种情况是.MDF文件,我不知道为什么只是不同类型的数据库文件,但不能用相同的方法解决。

    如下更改连接字符串。它可能在以下方面发挥作用:

          string constr =@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + System.Windows.Forms.Application.StartupPath + "\\PUBS.mdf;Integrated Security=True;User Instance=True";
    

    对不起,我按照你的建议试了一下,但还是不行,还是出错了。