DBLib

    • Beta

    Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

      Beschreibung
      DBLib ist eine Bibliothek, die Datenbanken erstellt und verwaltet - ganz ohne SQL.

      Funktionen

      • Datenbanken auf der Festplatte erstellen und löschen
      • Datenbanken aus Dateien öffnen und speichern (mit unbegrenzt vielen SubItems)
      • Datenbankenitems erstellen und löschen
      • Datenbanken durchsuchen
      • Verschlüsselung der Datenbanken

      ToDo

      Die DBLib ist noch im Aufbau. Also ran an die Tastatur für weitere Vorschläge.

      Dateiinformationen
      verwendete Sprache: VB 2008
      .NET Framework: 3.5
      Autor: Hastling
      Letzter Release: 22. April 2011
      Version: 1.1
      Dateigröße: 20 Kilobyte (+ 4 Kilobyte Dokumentationsdatei)
      Lizenztyp: Freeware, Namensnennung erwünscht aber nicht notwendig

      Screenshots eines Beispielprojekts finden sich im Anhang

      Die Funktionen
      Spoiler anzeigen


      CreateDatabase

      VB.NET-Quellcode

      1. Public Overloads Shared Sub Create(ByVal file As String, ByVal filename As String, ByVal Columns As List(Of String))

      Erstellt eine neue leere Datenbank. file gibt den Pfad zu dem Ordner an, in dem die Datenbank erstellt werden soll unf filename gibt den Dateinamen der zu erstellenden Datenbank an. Dieser muss ohne Endung angegeben werden. Columns stellt eine Liste der zu erstellenden Columns für die Datenbank dar.

      VB.NET-Quellcode

      1. Public Overloads Shared Sub Create(ByVal path As String, ByVal Columns As List(Of String))

      Selbe Funktionsweise wie oben, nur path stellt den Pfad der zu erstellenden Datenbank an (inklusive .dbLib).


      ManageDatabase

      VB.NET-Quellcode

      1. Public Sub New(ByVal Path As String, ByVal Filename As String)

      Erstellt eine neue Instanz der ManageDatabase. Hierbei steht Path für den Ordner, in dem sich die Datenbank befindet und Filename für den Namen der Datenbank (ohne .dbLib).

      VB.NET-Quellcode

      1. Public Sub New(ByVal Path As String)

      Selbe Funktionsweise wie oben, nur steht hier Path für den kompletten Pfad, inklusive dem Dateinamen und ".dbLib".


      VB.NET-Quellcode

      1. Public Overloads Sub CreateNew(ByVal Path As String, ByVal Filename As String)
      2. Public Overloads Sub CreateNew(ByVal Path As String)

      Ändern die aktuell geöffnete Datenbank. Die Angaben sind die selben wie oben.


      VB.NET-Quellcode

      1. Public Sub LoadDatabase()

      Lädt die Datenbank ein.


      VB.NET-Quellcode

      1. Public Sub saveDatabase()

      Speichert die Datenbank.


      VB.NET-Quellcode

      1. Public Sub newItem(ByVal item As List(Of String))

      Fügt der Datenbank einen neuen Eintrag hinzu.


      VB.NET-Quellcode

      1. Public Sub deleteItem(ByVal index As Integer)

      Löscht einen Eintrag anhand dessen Index in der Datenbank.


      VB.NET-Quellcode

      1. Public Function GetDatabaseListView() As Windows.Forms.ListView

      Gibt eine ListView zurück. Aus dieser kann man die Items auslesen. Die ColumHeader kann man nicht mit dieser Funktion abrufen.


      VB.NET-Quellcode

      1. Public Function GetDatabase() As List(Of Data)

      Gibt die Datenbank als List(Of Data) zurück.


      VB.NET-Quellcode

      1. Public Function GetDatabaseColumns() As List(Of String)

      Gibt die Columns der Datenbank als List(Of String) zurück.


      VB.NET-Quellcode

      1. Public Function searchAllItem(ByVal searchString As String, Optional ByVal findStringExactly As Boolean = False) As List(Of Integer)

      Gibt in einer Liste von Zahlen die Indexe zurück, die die Suchanforderungen erfüllen. searchString steht für die Zeichenfolge die gesucht werden soll und findStringExactly dafür, ob der Eintrag dem searchString genau entsprechen soll.


      VB.NET-Quellcode

      1. Public Sub deleteDatabase()

      Löscht die komplette Datenbank.





      Die Ereignisse
      Spoiler anzeigen


      VB.NET-Quellcode

      1. Public Event DatabaseContentChanged()

      Tritt ein, wenn sich der Inhalt der Datenbank ändert.


      VB.NET-Quellcode

      1. Public Event DatabaseItemRemovedSuccessful()

      Tritt ein, wenn ein Einträg erfolgreich gelöscht wurde.


      VB.NET-Quellcode

      1. Public Event DatabaseLoadedSuccessful()

      Tritt ein, wenn die Datenbank erfolgreich geladen wurde.


      VB.NET-Quellcode

      1. Public Event DatabaseRemovedSuccessful()

      Tritt ein, wenn die Datenbank erfolgreich gelöscht wurde.


      VB.NET-Quellcode

      1. Public Event DatabaseSavedSuccessful()

      Tritt ein, wenn die Datenbank erfolgreich gespeichert wurde.

      Bilder
      • screen1.jpg

        122,09 kB, 702×473, 225 mal angesehen
      • screen2.jpg

        102,36 kB, 459×420, 212 mal angesehen
      • screen3.jpg

        157,75 kB, 701×470, 192 mal angesehen
      • screen4.jpg

        91,95 kB, 573×419, 178 mal angesehen
      • screen5.jpg

        86,87 kB, 572×420, 157 mal angesehen
      Dateien
      • DBLib.zip

        (8,41 kB, 124 mal heruntergeladen, zuletzt: )
      • DBLibAnwendung.zip

        (18,77 kB, 94 mal heruntergeladen, zuletzt: )
      • DBLibProjekt.zip

        (177,46 kB, 102 mal heruntergeladen, zuletzt: )
      Vorschläge:
      - Verschiedene Datentypen, damit man auch suchen kann nach Integern, Date oder sonstigen z.B. Zeige Einträge wo ID > 10 oder Datum > Heute usw.
      - Bestimmen welche Columns man auslesen will, nicht das eine große Datenbank immer komplett eingelesen wird und somit den Speicher zumüllt.
      - Funktionen bei der Abfrage und Deklaration wie bei SQL DATE_FORMAT(), SUBSTRING() usw.
      Vielen Dank für dein schnelles Feedback Dodo.

      Dodo schrieb:

      - Bestimmen welche Columns man auslesen will, nicht das eine große Datenbank immer komplett eingelesen wird und somit den Speicher zumüllt.

      Werde ich sofort angehen, sobald ich wieder zu Hause bin.

      Mit den anderen Vorschlägen werde ich mich dann auseinandersetzten.
      Also was eine DB aufjedenfall haben muss sind eben Query Strings, heißt das man dynamische Funktionen, Abfragen usw. verbinden kann. Ansonsten ists nur ein einfacherer Speicher wie XML und XML kann man mit der .NET Klasse auch relativ easy auslesen mit ähnlicher funktionalität wie bei dir.