0

我刚刚学习了 3 个月的 Visual Studio 2010 C#。我添加了数据源调用“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)中,然后单击打开应用程序(我也单击“以管理员身份运行”),它显示错误窗口,如下图所示:

有人请帮助我。

PS。

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

  1. 单击选项卡“数据”
  2. 单击“添加新数据源...”
  3. 选择“数据库”
  4. 选择“数据集”
  5. 浏览“PUBS.MDF”文件

这就是我构建项目的方式

  1. 单击选项卡“文件”> 添加 > 新项目 > Visual Studio 安装程序 > 安装项目
  2. 右键单击“应用程序文件夹”>“添加”>“项目输出”>“主输出”
  3. 右键单击“应用程序文件夹”>“添加”>“文件...”>浏览“PUBS.MDF”文件
  4. 在“解决方案资源管理器”窗口中,右键单击项目名称 > 单击“构建”并等待它显示消息“构建 secceed”

我也上传了项目,请通过此链接下载 --> http://www.4shared.com/zip/-HLqC-b_/WindowsFormsApplication18.html ?

我曾经发布过与此几乎相同的问题->使用Access数据库构建项目成功,可以搜索数据但无法删除记录,但在这种情况下,数据库是.accdb文件,可以通过单击“运行”来解决作为管理员”,但这种情况是 .MDF 文件,我不知道为什么只是不同类型的数据库文件,但不能用相同的方法解决。

4

1 回答 1

2

如下更改您的连接字符串。它可能有效:

      string constr =@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + System.Windows.Forms.Application.StartupPath + "\\PUBS.mdf;Integrated Security=True;User Instance=True";
于 2012-10-28T16:55:28.363 回答