Hi @ all,
hier werde ich kurz erklären, wie man mit einer SQLite Datenbank in C# arbeitet.
Was braucht ihr?
Vorab: Der Datenbankpfad ist in diesem Tutorial immer c:\\mydatabasefile.db3
Los geht´s:
Als erstes installiert ihr per Setup SQLite. Damit sollte auch der Verweis eingetragen sein.
Wenn dies erledigt ist,startet ihr eure C# IDE. Dort öffnet ihr ein neues Projekt.
Dort tragt ihr bei using folgendes ein, wenn es noch nicht vorhanden ist:
Neue Datenbank anlegen:
Um eine neue Datenbank-Datei anzulegen, benutzt ihr diesen Codeausschnitt:
Wichtig: Es muss immer erst eine Datenbank vorhanden sein.
Verbindung zur Datenbank herstellen:
Um eine Verbindung herzustellen, erstellt ihr zuerst eine Verbindung. Dann gebt ihr im ConnectionString den Datenbankpfad an und öffnet die Verbindung mit Open. Dies sieht so aus:
Damit ist die Datenbankverbindung hergestellt.
Datenbank verwalten:
Mit sogenannten Commans kann man SQLite verwalten. Dabei sind MySQL-Kenntnisse aus PHP hilfreich(weiß nicht genau ob es auch bei anderen DB-Systemen so ist)
Um überhaupt einen Command ausführen zu können, müsst ihr zuerst diesem Command deklarieren:
Commandliste:[INDENT]->Tabelle erstellen:
Um eine Tabelle hinzuzufügen, gibt es Create als Command. Beispiel:
[/INDENT][INDENT]->Eintrag hinzufügen:
Um einen Eintrag hinzuzufügen, gibt es den Command Insert. Beispiel:
[/INDENT][INDENT]->Eintrag löschen:
Um einen Datensatz zu löschen, müsste ihr Delete verwenden. Beispiel:
[/INDENT][INDENT]->Eintrag updaten:
Es gibt auch die Möglichkeit die Daten in der DB upzudaten. Beispiel:
[/INDENT][INDENT]->Einträge ausgeben:
Um Datensätze auszugeben, gibt es folgende Methode:
(Siehe auch weiter unten: Auslesen der Ausgabe/Mehrere Datensätze ausgeben)
[/INDENT]Um den angegebenen Command dann auch ausführen zu lassen, nutzt man ExcuteNonQuery:
Dannach kann man, wenn man nicht noch mehr Commands ausführen will, die Ressourcen des Command freigeben:
Auslesen der Ausgabe/Mehrere Datensätze ausgeben:
Um die ausgegebenen Sätze ausgeben zulassen, gibt es den sogenannten Reader. Dieser gibt den Inhalt aus dem Command wieder. Beispiel, welches mehrere Sätze ausliest:
Die Besonderheit beim reader ist, dass dieser Reader wieder geschlossen werden muss. Außerdem ist es nützlich, wenn man die Resourcen des Readers vorher freigibt. Dies sieht dann so aus:
Datenbank schließen:
Die Datenbank zu schließen ist recht einfach. Dafür müsst ihr nur Close aufrufen. Beispiel:
Konsolenbeispiel:
Hier nochmal ein komplettes Beispiel, wie man mit der Datenbank arbeitet.
Alles anzeigen
Das gesamte Projekt nochmla als Anhang zum Downloaden :wink:
Gute Links:
Command Line Shell For SQLite
SQLite for Net Homepage
Dies war es schon. Falls euch etwas fehlt oder etwas falsch sein sollte, könnt ihr euch melden.
hier werde ich kurz erklären, wie man mit einer SQLite Datenbank in C# arbeitet.
Was braucht ihr?
- Die SQLite Setup Exe von sourceforge
- C# :wink:
Vorab: Der Datenbankpfad ist in diesem Tutorial immer c:\\mydatabasefile.db3
Los geht´s:
Als erstes installiert ihr per Setup SQLite. Damit sollte auch der Verweis eingetragen sein.
Wenn dies erledigt ist,startet ihr eure C# IDE. Dort öffnet ihr ein neues Projekt.
Dort tragt ihr bei using folgendes ein, wenn es noch nicht vorhanden ist:
Neue Datenbank anlegen:
Um eine neue Datenbank-Datei anzulegen, benutzt ihr diesen Codeausschnitt:
Wichtig: Es muss immer erst eine Datenbank vorhanden sein.
Verbindung zur Datenbank herstellen:
Um eine Verbindung herzustellen, erstellt ihr zuerst eine Verbindung. Dann gebt ihr im ConnectionString den Datenbankpfad an und öffnet die Verbindung mit Open. Dies sieht so aus:
Datenbank verwalten:
Mit sogenannten Commans kann man SQLite verwalten. Dabei sind MySQL-Kenntnisse aus PHP hilfreich(weiß nicht genau ob es auch bei anderen DB-Systemen so ist)
Um überhaupt einen Command ausführen zu können, müsst ihr zuerst diesem Command deklarieren:
Commandliste:[INDENT]->Tabelle erstellen:
Um eine Tabelle hinzuzufügen, gibt es Create als Command. Beispiel:
Um einen Eintrag hinzuzufügen, gibt es den Command Insert. Beispiel:
[/INDENT][INDENT]->Eintrag löschen:
Um einen Datensatz zu löschen, müsste ihr Delete verwenden. Beispiel:
[/INDENT][INDENT]->Eintrag updaten:
Es gibt auch die Möglichkeit die Daten in der DB upzudaten. Beispiel:
[/INDENT][INDENT]->Einträge ausgeben:
Um Datensätze auszugeben, gibt es folgende Methode:
(Siehe auch weiter unten: Auslesen der Ausgabe/Mehrere Datensätze ausgeben)
[/INDENT]Um den angegebenen Command dann auch ausführen zu lassen, nutzt man ExcuteNonQuery:
Dannach kann man, wenn man nicht noch mehr Commands ausführen will, die Ressourcen des Command freigeben:
Auslesen der Ausgabe/Mehrere Datensätze ausgeben:
Um die ausgegebenen Sätze ausgeben zulassen, gibt es den sogenannten Reader. Dieser gibt den Inhalt aus dem Command wieder. Beispiel, welches mehrere Sätze ausliest:
Datenbank schließen:
Die Datenbank zu schließen ist recht einfach. Dafür müsst ihr nur Close aufrufen. Beispiel:
Konsolenbeispiel:
Hier nochmal ein komplettes Beispiel, wie man mit der Datenbank arbeitet.
Quellcode
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using System.Data.Common;
- using System.Data.SQLite;
- using System.IO;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- if (File.Exists(Environment.CurrentDirectory + "/Database.db3") == false)
- {
- //erstellen der Datenbank falls diese nicht existiert
- SQLiteConnection.CreateFile("c:\\mydatabasefile.db3");
- }
- //Verbindung herstellen
- SQLiteConnection connection = new SQLiteConnection();
- connection.ConnectionString = "Data Source=c:\\mydatabasefile.db3";
- connection.Open();
- SQLiteCommand command = new SQLiteCommand(connection);
- // Erstellen der Tabelle, sofern diese noch nicht existiert.
- command.CommandText = "CREATE TABLE IF NOT EXISTS Test ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,Testspalte VARCHAR(100) NOT NULL);";
- command.ExecuteNonQuery();
- // Einfügen zweier Test-Datensätze.
- command.CommandText = "INSERT INTO Test (Testspalte) VALUES( 'Test-Datensatz!')";
- command.ExecuteNonQuery();
- command.CommandText = "INSERT INTO Test (Testspalte) VALUES( 'Test-Datensatz2!')";
- command.ExecuteNonQuery();
- // Auslesen der Datensätze.
- command.CommandText = "SELECT Testspalte FROM Test";
- SQLiteDataReader reader = command.ExecuteReader();
- while (reader.Read())
- {
- Console.WriteLine(reader[0].ToString());
- }
- Console.Read();
- }
- }
- }
Gute Links:
Command Line Shell For SQLite
SQLite for Net Homepage
Dies war es schon. Falls euch etwas fehlt oder etwas falsch sein sollte, könnt ihr euch melden.