{"id":5436,"date":"2010-03-03T16:15:58","date_gmt":"2010-03-03T14:15:58","guid":{"rendered":"http:\/\/funrecycler.com\/?p=5436"},"modified":"2010-03-03T16:15:58","modified_gmt":"2010-03-03T14:15:58","slug":"vb-net-sqlite-datenbankanbindung-teil-1","status":"publish","type":"post","link":"https:\/\/funrecycler.com\/index.php\/2010\/03\/03\/vb-net-sqlite-datenbankanbindung-teil-1\/","title":{"rendered":"VB.net &#8211; sqlite Datenbankanbindung &#8211; Teil 1"},"content":{"rendered":"<p>Es muss nicht immer MySql sein, es gibt auch kleinere Datenbanken, welche sich einfacher nutzen lassen. Der Nachteil von MySql ist, dass diese Datenbank immer einen Datenbankserver voraussetzt. Dies bedeutet, dass der MySql Server lokal oder auf einen fernen System laufen muss. Es gibt zwar portable Versionen von MySql aber auch diese sind f\u00fcr viele kleine Programme \u00fcberdimensioniert. Man f\u00e4hrt ja auch nicht mit einen 40zig Tonner Br\u00f6tchen holen.<br \/>\nPraktischer ist hier sqlite, diese Datenbank besteht lediglich aus einer Datei. In ihr k\u00f6nnen Tabellen angelegt, Daten gespeichert, Views erstellt, Trigger gesetzt, &#8230;. werden. Der Funktionsumfang ist kleiner als der von MySql oder Microsoft SQL Server, ist aber v\u00f6llig ausreichend um Daten komfortabel zu speichern und zu lesen. Eine eigene Benutzerverwaltung ist in sqlite nicht vorhanden, es gelten die Zugriffsrechte auf die Datenbankdatei.<br \/>\nMehr Informationen \u00fcber sqlite gibt es auf <a title=\"wikipedia sqlite\" href=\"http:\/\/de.wikipedia.org\/wiki\/Sqlite\" target=\"_blank\" rel=\"noopener\">Wikipedia\/sqlite<\/a>.<br \/>\n<!--more-->sqlite .net Addon herunterladen<br \/>\nUm sqlite im eigenen Vb.net Programm zu nutzen, ist eine API notwendig, mit welcher man auf die Datenbank Datei zugreifen kann. Hierf\u00fcr gibt es den <a title=\"slqie provider\" href=\"http:\/\/sqlite.phxsoftware.com\/\" target=\"_blank\" rel=\"noopener\">ADO.net Provider<\/a> f\u00fcr sqlite. Den Provider herunterladen und installieren. Benutzt man Visual Studio von Microsoft, besteht die M\u00f6glichkeit die APi direkt in der Installation mit Visual Studio zu verkn\u00fcpfen.<br \/>\nsqlite dll hinzuf\u00fcgen<br \/>\nBenutzt man SharpDevelop muss man die dll manuell einbinden. Neues Projekt erstellen &gt; Projekt &gt; Referenz hinzuf\u00fcgen &gt; Reiter .net Assemblybrowser &gt; suchen. Anschlie\u00dfend w\u00e4hlt man die System.Data.SQLite.dll welche unter den Standartinstallationspfad zu finden ist. (C:\\Program Files\\SQLite.NET\\bin)<br \/>\nsqlite DB Verwaltungstool<br \/>\nF\u00fcr eine einfache Verwaltung der Sqlite Datenbank empfiehlt sich ein Firefox Addon. Mit dem <a title=\"sqlite manager\" href=\"http:\/\/code.google.com\/p\/sqlite-manager\/\" target=\"_blank\" rel=\"noopener\">SqliteManager <\/a>lassen sich Datenbanken anlegen, bearbeiten und abfragen. Somit kann man sp\u00e4ter seine select Abfragen oder Insert Anweisungen \u00fcberpr\u00fcfen.<br \/>\nDas Addon setzt Firefox Version 3.5 und h\u00f6her voraus.<br \/>\nsqlite Datei erstellen<br \/>\nAls erstes muss man eine Datenbank anlegen, dies kann man \u00fcber den SqliteManager erledigen oder einfach per Quellcode. Letzteres ist praktisch wenn man zum Beispiel f\u00fcr jeden Tag eine neue Datenbank anlegen m\u00f6chte.<br \/>\nGenerell muss man in seinen VB.net Programm die Sqlite Erweiterungen importieren. Dies geschieht wie immer per &#8222;Imports&#8220; Anweisung. Achtung die Sqlite Erweiterungen werden \u00fcber &#8222;System.Data.SQLite&#8220; angesprochen.<\/p>\n<pre lang=\"VB\">Imports System.Data.SQLite\nImports System.IO<\/pre>\n<p>Praktischerweise verpackt man die Datenbankerstellung in eine Sub.<\/p>\n<pre lang=\"VB\">Try\n'Pfad+DBName als \u00dcbergabe\nPublic Sub sub_create_sqlitedb(sub_dbname As String)\n'neue Datenbankverbindung erstellen\nDim SQLconnect As New Data.SQLite.SQLiteConnection()\n'ausgew\u00e4hlte Dateiname der DataSource \u00fcbergeben\nSQLconnect.ConnectionString = \"Data Source=\" &amp; sub_dbname &amp; \";\"\n'Da die Datei noch nicht existiert, wird sie mit einer open Anweisung erstellt\nSQLconnect.Open()\n'und wieder geschlossen\nSQLconnect.Close()\n'Fehler abfangen\nCatch\n\tMessageBox.Show(\"Fehler beim erstellen der Sqlite Datenbank!\")\nEnd Try\nEnd Sub<\/pre>\n<p>Nun kann man zum Beispiel \u00fcber ein Button und einen FileSaveDialog mit geringen Aufwand eine Datenbank erstellen. Pfad und Name k\u00f6nnen dabei frei gew\u00e4hlt werden.<\/p>\n<pre lang=\"VB\">Sub Cmd_create_sqlitedbClick(sender As Object, e As EventArgs)\n'Speichern als Dialoag erstellen und anzeigen\nDim dlg_file_save As New SaveFileDialog\ndlg_file_save.Filter = \"SQLite3 (*.db3)|*.db3|All Files|\"\ndlg_file_save.ShowDialog()\n'Datenbank erstellen\nCall sub_create_sqlitedb(dlg_file_save.FileName)\n'\u00dcberpr\u00fcfen ob die Datei Existiert,\nIf File.Exists(dlg_file_save.FileName) = False Then\n      \tMessageBox.Show(\"Datenbank Datei wurde nicht erstellt!\")\nEnd If\nEnd Sub<\/pre>\n<p>Nun ist die Datenbank erstellt und kann genutzt werden. Im zweiten Teil beschreibe ich wie man eine Tabelle erstellt und Daten einf\u00fcgt.<br \/>\n<strong><br \/>\n<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es muss nicht immer MySql sein, es gibt auch kleinere Datenbanken, welche sich einfacher nutzen lassen. Der Nachteil<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,14],"tags":[2449,2453,2454,2815],"class_list":["post-5436","post","type-post","status-publish","format-standard","hentry","category-computer-und-technik","category-programmieren","tag-sqlite","tag-sqlite-datenbankanbindung-in-vb-net","tag-sqlite-datenbanken","tag-vbnet"],"_links":{"self":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/5436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/comments?post=5436"}],"version-history":[{"count":0,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/5436\/revisions"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=5436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=5436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=5436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}