私は小さなVB.netアプリケーションを構築しています。私は少しデータベース(約5列、20レコード)を追加したい。私はすべてを1つのexeファイルに保存したい。 「フル」データベースを追加するのはちょっと残念だと思いますので、代わりの方法を探しています。 私はCSVファイルを作成し、それをリソースとして追加することができました。これはいいアイデアですか、それとも他に良い選択肢がありますか?vb.netアプリケーションにデータベースを埋め込む
答えて
私は小さなデータベースとしてXMLファイルを使用しますが、linq(Language-Integrated Query)を使用してXMLファイルを簡単に検索できます。また、レコードとクエリの処理に役立つライブラリが組み込まれています。もちろん、あなたはアクセスを使用することができます、Excel(あなたはSQLでExcelクエリすることができます)CSVファイルまたはTXTファイル。また、作成することができますlocal data base file in visual studio
または 'sql ce'データベース –
...またはバイナリのシリアライズされたファイルです。 –
このような少量のデータの別のオプションは、ApplicationSettingsに格納することです。あなたの質問は、WinFormsを使用していることを意味するので、独自のカスタムクラスを格納するための作業量は少なく、組み込みの機能を利用することができます。
- データを表すクラスを作成します。
- (の)リストとして
ApplicationSettingsBase
から継承別のクラスのプロパティにそのクラスをラップし、必要に応じて、このカスタム設定を操作し、必要に応じてSave()
を呼び出します。ここで
のDataGridにバインドする例です。
あなたのデータを表すクラス:
Public Class Fruit
Public Property FruitName As String
Public Property FruitColor As String
Public Property FruitGrowsOn As String
End Class
アプリケーション設定に保存されたコレクションにFruit
をオンクラス。それがApplicationSettingsBase
を継承していることに注目してください。 Fruits
プロパティの属性にも注意してください。これは、アプリケーション設定(ユーザーが変更できない)とは対照的に、これをユーザー設定として識別します。
Imports System.Configuration
Public NotInheritable Class FruitCollection
Inherits ApplicationSettingsBase
<UserScopedSettingAttribute()>
<DefaultSettingValue("")>
Public Property Fruits() As List(Of Fruit)
Get
Fruits = Me("Fruits")
End Get
Set(ByVal value As List(Of Fruit))
Me("Fruits") = value
End Set
End Property
End Class
フォーム定義:DefaultSettingAttribute
は、アイテムを追加するには、最初の時間後までnull参照の例外を取得しないので、コレクションがインスタンス化されていることを確認できます。カスタム設定のインスタンス(FruitUserSettings
)を取得し、DataGridViewのバインディングソースを作成し、[保存]ボタンを使用して、グリッド内の変更を[設定]に保持します。次回は、ユーザーがフォームの変更はまだ彼らは[保存]ボタンをクリックが提供されます開きます
Public Class Form1
Dim FruitUserSettings As FruitCollection
Dim GridBindingSrc As BindingSource
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FruitUserSettings = New FruitCollection()
GridBindingSrc = New BindingSource(FruitUserSettings, "Fruits")
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = GridBindingSrc
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FruitUserSettings.Save()
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
GridBindingSrc.Dispose()
End Sub
End Class
注意を、あなたは、これらは単なるデモンストレーションのためだった、バインディングのソースまたはグリッドを必要としません。 FruitUserSettings.Fruits
を好きな方法で他のリストと同様に操作できます。設定でSave()
が呼び出されている限り、データは保持されます。
現在地ワーキングサンプルをダウンロード/クローンを作成することができます:https://github.com/crowcoder/CustomSetting
- 1. VB.netアプリケーションに.exeを埋め込む
- 2. VB.NETアプリケーションに辞書を埋め込む
- 3. H2データベースをETLアプリケーションに埋め込む?
- 4. 埋め込みyoutubeをc/gtkアプリケーションに埋め込む
- 5. FirebaseデータベースにPythonを埋め込む
- 6. C#でアプリケーションにMySQLデータベースを埋め込む
- 7. C#アプリケーション内にSQL Serverデータベースを埋め込む
- 8. WPFウィンドウ内にアプリケーションを埋め込む
- 9. Eclipse RCPにSilverlightアプリケーションを埋め込む
- 10. ビデオをJavaアプリケーションに埋め込む?
- 11. アプリケーションにリモートPythonシェルを埋め込む
- 12. カスタムシステムにPlayアプリケーションを埋め込む
- 13. C++アプリケーションにWebKitを埋め込む
- 14. YouTubeにFlashアプリケーションを埋め込む
- 15. スマートURLをアプリケーション内に埋め込む
- 16. WPFアプリケーションにアイコンを埋め込む
- 17. ウェブアプリケーションをAndroidアプリケーションに埋め込む
- 18. Tomcatにワンファットジャーのアプリケーションを埋め込む
- 19. UnityをUWPアプリケーションに埋め込む
- 20. .NETアプリケーションにAndroidエミュレータを埋め込む
- 21. C++アプリケーション内にデータを埋め込む
- 22. WindowsアプリケーションにCrystalレポートデザイナーを埋め込む
- 23. アプリケーションにHTMLを埋め込む
- 24. Unity3DアプリをWPFアプリケーションに埋め込む
- 25. asp.netにSilverlightアプリケーションを埋め込む
- 26. WPFアプリケーションにWindowsフォームを埋め込む
- 27. .netアプリケーションにフローチャートデザイン面を埋め込む
- 28. bokehアプリケーション内にiframeを埋め込む
- 29. Androidアプリケーションで画像に埋め込む
- 30. LMDBデータベースを埋め込む方法
データをデータです。その性質上、変化する可能性があります。何かを埋め込むことは、変更された場合、アプリケーションを再コンパイルして再配布する必要があることを意味します。データがXMLにある場合は、データテーブルにデータをロードし、必要なときには置換えを送信できます。 – Plutonix