プロが教えるわが家の防犯対策術!

C#初心者です。

アクセスの空データベースファイル(.accdb)を.exeに埋め込んで、必要に応じてファイルとして出力したいのですが、その方法がわかりません。

埋め込み方法は画像ファイルと同じように[追加]→[既存の項目]からリソースとして読み込み、ビルドアクションプロパティを[埋め込まれたリソース]に設定すれば、それでよいのでしょうか?

また、埋め込んだファイルをファイルとして出力する場合はどうすればよいのでしょうか?

本当ならわざわざリソースとして埋め込むのではなく、空の.accdbをプログラムで生成できればよいのですが、もしご存知でしたらそれもご教示ください。

よろしくお願いします。

A 回答 (1件)

Google さんに聞けばすぐに解決しちゃうから既に解決済みか?



以下 Visual Studio 2012 の操作。

リソースの追加方法
1. プロジェクトのプロパティで [リソース] タブを選択。
2. [リソースの追加] ボタンの右側にある下向き矢印をクリックして [既存のファイルを追加] をクリック。
3. 目的の Access DB ファイルを選択して [開く] をクリック。
4. データ ソース構成ウィザードが起動してしまうので [キャンセル] をクリック。
5. リソース一覧に追加された DB ファイルの名前が気に食わなければプロパティの (Name) で変更する。既定値はファイル名の拡張子を除いた部分になっていて、プログラムからはこの名前でリソースにアクセスする。
6. プロジェクトのプロパティを閉じる。
7. プロジェクトの [Resources] フォルダーに Access DB ファイルが追加されていて、[出力ディレクトリに常にコピーする] になっているので、"コピーしない" に変更する。


リソースからバイナリを取得してファイルに書き出す方法
(リソースには Properties.Resources クラスを使ってアクセスする)
1. リソースをバイト配列に読み込む。
ex.) "test" という名前のリソースだった場合
byte[] dbFile = Properties.Resources.test;

2. バイト配列をファイルに書き出す。
System.IO.File.WriteAllBytes("d:\\hoge.accdb", dbFile);

以上。
    • good
    • 1
この回答へのお礼

できました。
ゴーグルしたけどちょっと違うのばっかりです。

お礼日時:2012/12/10 11:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています