1

私のC#プログラムでは、大きな問題があります。

「Behgozin_DB」という名前のSQLサーバーデータベースをプロジェクトに追加します。データベースを追加するには、次の手順を実行します。

  1. SQL Server Management Studioで、データベースをデタッチします
  2. Visual Studioの[データ]メニューから、新しいデータソースを追加します
  3. 私の接続文字列は次のとおりです。

データソース=(ローカル); AttachDbFilename = | DataDirectory | \ DB_Behgozin.mdf; Integrated Security = True

すべて問題ありませんが、アプリケーションを閉じた後にデータベースに何かを挿入すると、データが表示されません。しかし、Visual Studioサーバーエクスプローラーメニューでテーブルを右クリックし、[テーブルデータの表示]を選択すると、アプリケーションはデータのテーブル全体を完全に読み取ります。

もう1つの問題は、このアプリを使用した後でも、テーブル内の独自のデータを読み取ることができないことです。

Visual Studio 2010 SQL Server 2008のC#プロジェクト。

4

1 に答える 1

1

データベースファイルには2つのコピーがあります。1つはプロジェクトにあり、もう1つはにありますbin\debug。設計時に、プロジェクト内のものを編集します。プロジェクトを変更してビルドするたびに、プロジェクトデータベースファイルはbin \ debug内のファイルを上書きし、このファイルは実行時に更新されます。

これを解決するには、次の3つのオプションがあります。

  1. bin\debug内のファイルのみを使用してください。プロジェクトデータベースファイルのコピーオプションを(プロパティウィンドウで)[しない]に設定し、プロジェクトのすべてのファイルを表示して、bin\debugデータベースファイルをサーバーエクスプローラーに追加します。注意:誤ってbin \ debugフォルダーを削除すると、すべての変更が失われます。変更する場合は、データベースファイルをbin\debugからプロジェクトフォルダに手動でコピーします。

  2. プロジェクトではなく、SQLサーバーフォルダーにファイルを配置します。デプロイするときは、接続文字列を変更し、サーバーからデータベースをコピーします。

  3. 「|DataDirectory|」を置き換えます プロジェクトデータベースファイルへの絶対パスを持つマクロ。デプロイするときは、「|DataDirectory|」に戻すだけです。

于 2012-08-19T19:04:17.877 に答える