トップ回答者
アプリケーションにデータベースを内蔵するには

質問
-
回答
-
CompactやLocalDBが話題になっている以下のスレッドを、一度お読み下さい。
LocalDB をどう考えますか?どう捉えていますか?
http://social.msdn.microsoft.com/Forums/ja-JP/82afff90-bea5-4987-9f4d-857a3c75fc4c/localdb-?forum=sqlserverja★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:34
-
> 上記のようなデータベースアプリがはいっていないWindowsで、アプリの中にデータを蓄積
> するような(読み出しとか書き込み)ことはできるのでしょうか?データって何ですか? それがどのようなもので、どのように利用するのかを明確にしてもらわないと、誰も答えようがないですよ。
簡単なものなら、テキストファイルとか xml ファイルに「蓄積」できますけどそういうものではないのですか?
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
ご質問のタイトルを読み違えていたかもしれません。exeファイル内にデータベースを同梱したいということでしょうか? さすがにそれは無理ですが、みなさんがご紹介されている方法とは別に、
Visual Studioでアプリケーションの設定を保存する
http://dobon.net/vb/dotnet/programing/mysettings.htmlをご紹介しておきます。
アプリケーションの設定では、保存できる型は限られていますが、その中にstring配列がありますので、私はそこにcsvを保存することによって、例えばユーザーが入力した履歴などを保存し、次回以降に素早く入力できるようにするなどしています。もちろん、このcsvはxmlに書き出されますので、アプリケーションを立ち上げ直しても大丈夫です。この方法で対応可能であれば、参考にして下さい。★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
SQLiteという手もあるかもしれませんね!
私は、WindowsストアアプリからSQLiteを利用してますが、かなり良いと思ってます。
動作させるPCの環境にもよって、一概には言えませんが、検討要素としてみてもよいのかもしれませんねこんなブログみつけました。
http://blog.ume108.mobi/?p=3378
このほかにも、「C# SQLite」で検索すると情報は豊富ですよ~以上 見当ちがいでしたらご容赦ください。
Digital Kids
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
EXE以外はインストールしたくない という前提でしょうか?
面倒なセットアップ処理をユーザーにさせられない という理解でいいでしょうか?
Accessで使用するDBは、Accessがインストールされていなくても.netがあれば読み書きできます。.net2.0でもアクセスできますので、VISA以降ならEXE以外は何もインストールしなくてもOKですね。
(XPは.net2.0のインストールが必要です)
で、DBはEXEとは別ファイルでいいんですよね?
最初の配布は、”空のDBをリソースとしてEXEファイルの中に追加”してやり、それを起動時にPCに書き込んでやればいいでしょう。
テーブル、クエリーも作っておいてそれをリソースに追加するのも楽ですが、ファイルが大きくなるのが嫌ならば(当然Exeも大きくなりますから)、テーブルやクエリーは起動してDBをローカルに書き込んだ時に追加してやればOKです。(これは一部ファイルがインストールされてしまいますが)
起動時にDBファイルが無ければパスを聞き、新規にインストールしたければファイルを書き込めばいいですね
で、一度書き込んだら、次からはそれを使うようにプログラムで処理すればいいですね。
レジストリなどにパス情報を記載しておけばよいでしょう。
回答になったでしょうか?
Shigeru Murai / SIMOZ
- 編集済み SIMOZ 2014年10月8日 5:11
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
すべての返信
-
CompactやLocalDBが話題になっている以下のスレッドを、一度お読み下さい。
LocalDB をどう考えますか?どう捉えていますか?
http://social.msdn.microsoft.com/Forums/ja-JP/82afff90-bea5-4987-9f4d-857a3c75fc4c/localdb-?forum=sqlserverja★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:34
-
> 上記のようなデータベースアプリがはいっていないWindowsで、アプリの中にデータを蓄積
> するような(読み出しとか書き込み)ことはできるのでしょうか?データって何ですか? それがどのようなもので、どのように利用するのかを明確にしてもらわないと、誰も答えようがないですよ。
簡単なものなら、テキストファイルとか xml ファイルに「蓄積」できますけどそういうものではないのですか?
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
ご質問のタイトルを読み違えていたかもしれません。exeファイル内にデータベースを同梱したいということでしょうか? さすがにそれは無理ですが、みなさんがご紹介されている方法とは別に、
Visual Studioでアプリケーションの設定を保存する
http://dobon.net/vb/dotnet/programing/mysettings.htmlをご紹介しておきます。
アプリケーションの設定では、保存できる型は限られていますが、その中にstring配列がありますので、私はそこにcsvを保存することによって、例えばユーザーが入力した履歴などを保存し、次回以降に素早く入力できるようにするなどしています。もちろん、このcsvはxmlに書き出されますので、アプリケーションを立ち上げ直しても大丈夫です。この方法で対応可能であれば、参考にして下さい。★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
SQLiteという手もあるかもしれませんね!
私は、WindowsストアアプリからSQLiteを利用してますが、かなり良いと思ってます。
動作させるPCの環境にもよって、一概には言えませんが、検討要素としてみてもよいのかもしれませんねこんなブログみつけました。
http://blog.ume108.mobi/?p=3378
このほかにも、「C# SQLite」で検索すると情報は豊富ですよ~以上 見当ちがいでしたらご容赦ください。
Digital Kids
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
EXE以外はインストールしたくない という前提でしょうか?
面倒なセットアップ処理をユーザーにさせられない という理解でいいでしょうか?
Accessで使用するDBは、Accessがインストールされていなくても.netがあれば読み書きできます。.net2.0でもアクセスできますので、VISA以降ならEXE以外は何もインストールしなくてもOKですね。
(XPは.net2.0のインストールが必要です)
で、DBはEXEとは別ファイルでいいんですよね?
最初の配布は、”空のDBをリソースとしてEXEファイルの中に追加”してやり、それを起動時にPCに書き込んでやればいいでしょう。
テーブル、クエリーも作っておいてそれをリソースに追加するのも楽ですが、ファイルが大きくなるのが嫌ならば(当然Exeも大きくなりますから)、テーブルやクエリーは起動してDBをローカルに書き込んだ時に追加してやればOKです。(これは一部ファイルがインストールされてしまいますが)
起動時にDBファイルが無ければパスを聞き、新規にインストールしたければファイルを書き込めばいいですね
で、一度書き込んだら、次からはそれを使うようにプログラムで処理すればいいですね。
レジストリなどにパス情報を記載しておけばよいでしょう。
回答になったでしょうか?
Shigeru Murai / SIMOZ
- 編集済み SIMOZ 2014年10月8日 5:11
- 回答の候補に設定 ひらぽんModerator 2014年10月22日 2:06
- 回答としてマーク 星 睦美 2014年10月24日 5:35
-
Naoki.e さん、こんにちは。
フォーラム オペレーターの星 睦美です。フォーラム ユーザーからの返信から何かヒントを得られたのではないかと思います。用途によって様々な方法が考えられますので、私から参考情報として[回答としてマーク] させていただきました。
次回、質問に役立つ回答がありましたら投稿者から[回答としてマーク]をお願いします。今後ともよろしくお願いします。
フォーラムのヘルプ: https://social.msdn.microsoft.com/Forums/ja-JP/e164507c-7d3b-47d7-8be8-dd383e61507c?forum=announcejaフォーラム オペレーター 星 睦美 - MSDN Community Support