0

Visual Studio 2010 C# を 3 か月間学習しました。「NORTHWIND.MDF」と同様に Microsoft のサンプル データベースである「PUBS.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. [ソリューション エクスプローラー] ウィンドウで、プロジェクトの名前を右クリックし、[ビルド] をクリックして、[Build 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 に答える