Ich baue eine kleine VB.net App. Ich möchte eine kleine Datenbank hinzufügen (ungefähr 5 Spalten, 20 Datensätze). Ich möchte alles in einer einzigen exe behalten. Ich denke, es ist ein wenig übertrieben, eine "vollständige" Datenbank hinzuzufügen, also suche ich nach einer Alternative. Ich könnte eine CSV-Datei erstellen und sie als Ressource hinzufügen. Ist das eine gute Idee, oder gibt es noch andere bessere Alternativen?Embed Datenbank in vb.net App
Antwort
Ich würde XML-Datei als kleine Datenbank verwenden, können Sie es leicht mit Linq (Language-Integrated Query) abfragen. Es gibt auch eingebaute Bibliotheken, die Ihnen beim Umgang mit Datensätzen und Abfragen helfen können. natürlich, dass Sie Zugriff verwenden können, Excel (Sie können Excel mit SQL abfragen) CSV oder TXT-Datei. Sie können auch eine local data base file in visual studio
oder 'sql ce' Datenbank –
... oder eine binäre serialisierte Datei. –
erstellen Eine weitere Option für eine so kleine Menge von Daten ist es in ApplicationSettings zu speichern. Ihre Frage impliziert, dass Sie WinForms verwenden, sodass Sie die integrierten Funktionen mit nur geringem Aufwand nutzen können, um Ihre eigene benutzerdefinierte Klasse zu speichern.
- Erstellen Sie eine Klasse zur Darstellung Ihrer Daten.
- Wickeln Sie diese Klasse in einer Eigenschaft einer anderen Klasse, die von
ApplicationSettingsBase
als List (Of) - Manipulieren dieser individuellen Einstellung je nach Bedarf und rufen
Save()
nach Bedarf erbt.
Hier ist ein Beispiel, das an ein Datagrid bindet:
Die Klasse, die Ihre Daten darstellt:
Public Class Fruit
Public Property FruitName As String
Public Property FruitColor As String
Public Property FruitGrowsOn As String
End Class
Die Klasse, die Fruit
in einer Sammlung in Anwendungseinstellungen gespeichert dreht. Beachten Sie, dass es ApplicationSettingsBase
erbt. Beachten Sie auch die Attribute in der Eigenschaft Fruits
, die dies als Benutzereinstellung im Gegensatz zu einer Anwendungseinstellung (die vom Benutzer nicht geändert werden kann) angeben. Die DefaultSettingAttribute
stellt sicher, dass die Sammlung instanziiert wird, so dass Sie erst nach dem ersten Mal Ausnahme Nullverweis erhalten fügen Sie einen Artikel aus:
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
die Formulardefinition. Ruft die Instanz Ihrer benutzerdefinierten Einstellung ab (FruitUserSettings
), erstellt eine Bindungsquelle für ein DataGridView und bietet eine Schaltfläche zum Speichern, um die im Raster vorgenommenen Änderungen in den Einstellungen beizubehalten. Das nächste Mal öffnet der Benutzer das Formular die Änderungen noch da sein wird, vorausgesetzt, dass sie auf die Schaltfläche Speichern geklickt haben:
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
Hinweis, Sie keine Bindungsquelle oder Gitter benötigen, das waren nur zur Demonstration. Sie können FruitUserSettings.Fruits
wie jede andere Liste beliebig manipulieren. Solange Save()
an den Einstellungen aufgerufen wird, behalten Sie die Daten bei.
Sie können die Arbeitsprobe hier herunterladen/klonen: https://github.com/crowcoder/CustomSetting
- 1. Embed Dictionary in VB.NET-Anwendung
- 2. Embed libclang in einer iOS-App
- 3. Welche Datenbank sollte ich in dieser VB.NET App verwenden?
- 4. Embed angularjs App in einem anderen angularjs App
- 5. Embed Git Commit Anmelden Rails App?
- 6. Embed Tomcat mit App in einem dicken Glas
- 7. Embed Firefox in Java
- 8. Embed Composer in Framework
- 9. Embed Bewertungsleiste in Alertdialog
- 10. Embed pdb in Assembly
- 11. embed icepdf in jpanel
- 12. VB.net und MS Access-Datenbank
- 13. SQL AKTUALISIEREN einer Datenbank in VB.NET, Probleme
- 14. mit linq mit MySQL-Datenbank in vb.net
- 15. Datenbank Abfrage Ergebnis in Label VB.net anzuzeigen
- 16. Wiederherstellen einer Datenbank mit vb.net
- 17. Embed Orientdb Server in. NET-Anwendung
- 18. Embed vim Einstellungen in Datei
- 19. Embed Blog in der Website
- 20. Embed JFreeChart in Java-Servlet
- 21. Embed V8 in OpenCL-Anwendung?
- 22. Ionic Embed Video - Vollbildmodus beenden
- 23. Wie Backup-Datenbank mit Vb.Net ohne SSMS?
- 24. vb.net Textfeld Validierung gegen eine Datenbank?
- 25. Embed Python Interpreter in einer Python-Anwendung
- 26. SQL-Datenbank-Backup mit SMO und VB.NET
- 27. Aktualisierung *. SDF-Datenbank-Datei mit VB.NET
- 28. Embed Python3 ohne Standardbibliothek
- 29. Embed ein OpenCV Bild
- 30. Verbindung mit einer öffentlichen Datenbank über vb.net
Daten Daten ist. Von Natur aus kann es sich ändern. Wenn Sie etwas einbetten, bedeutet dies, dass Sie die App neu kompilieren und neu verteilen müssen. Wenn die Daten in einer XML-Datei vorliegen, können Sie sie in eine Datentabelle laden und bei Bedarf Ersatzdaten senden. – Plutonix