Kategorien

Suchen


Aktuelle Artikel

Archiv


« | Startseite | »

C#: SQLite Datenbank einbinden und nutzen (auch für SharpDevelop)

Jockel | 19.02.2010

SQLite ist eine dateibasierte Datenbank, welche Sie mit SQL Befehlen (wie mySQL, MS SQL, usw.) verwalten können.

Installation

Vorbereitungen für Ihr C# Projekt

Sie können die nun installierten ADO.NET SQLite Komponenten nutzen. zur Vereinfachung sollten Sie die benötigten Libraries (DLLs) in Ihren Projektordner kopieren:

In SharpDevelop die DLL als Referenz hinzufügen

SQLite Unterstützung im Projekt einbinden

1
using System.Data.SQLite;

Datenbank in C# zur Laufzeit (Runtime) erstellen

Beispiel:

1
2
3
SQLiteConnection connection = new SQLiteConnection("Data Source=test.dat");
connection.Open();
connection.Close();

Nachdem Sie den Source des Beispiels ausgeführt haben, finden Sie eine (noch leere) Datenbank “test.dat” im Verzeichnis der ausgeführten .EXE Datei.
In unserem Beispiel liegt diese SQLite Datenbank also unter “C:\tmp\HalloWelt\bin\Debug”.

Datenbank-Tabellen in C# zur Laufzeit erstellen

Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
SQLiteConnection connection = new SQLiteConnection("Data Source=test.dat");
connection.Open();
 
SQLiteCommand command = new SQLiteCommand(connection);
command.CommandText = String.Format("create table {0} (" +
    "  ID integer not null primary key autoincrement," +
    "  Name varchar(100) not null," +
    "  City varchar(100))",
    "Adressen");
command.ExecuteNonQuery();
 
connection.Close();

Im Beispiel wird eine einzelne Tabelle mit dem Namen “Adressen” und den Feldern “ID, Name, City” erstellt. Das Feld “ID” ist dabei der PK (Primary Key) und wird automatisch bei jedem Datensatz hochgezählt (Increment +1).

Daten in eine Tabelle in C# zur Laufzeit einfügen

Dieses Beispiel steht stellvertretend für jeden weiteren verfügbaren SQL Befehl. Eine Übersicht der anwendbaren SQL Befehle finden Sie in der SQLite Hilfe oder auf der SQLite Webseite:
http://www.sqlite.org/

Wie Sie Daten aus Tabellen abrufen können (SELECT Statements) finden Sie im nächsten Beispiel.

Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQLiteConnection connection = new SQLiteConnection("Data Source=test.dat");
connection.Open();
 
SQLiteCommand command = new SQLiteCommand(connection);
command.CommandText = String.Format("insert into Adressen (Name,City) values ('{0}','{1}')",
    "Max Muster",
    "Hamburg");
command.ExecuteNonQuery();
 
command.CommandText = String.Format("insert into Adressen (Name,City) values ('{0}','{1}')",
    "Bertha Besser",
    "Berlin");
command.ExecuteNonQuery();
 
connection.Close();

Im Beispiel werden zwei Datensätze in die oben erstellte Tabelle “Adressen” eingefügt:

  1. Max Muster, Hamburg
  2. Bertha Besser, Berlin

Daten aus einer Tabelle in C# zur Laufzeit abfragen

Dieses Beispiel steht stellvertretend für alle weiteren SQL Befehle, mit denen Sie Daten aus Ihrer Datenbank auslesen.

Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQLiteConnection connection = new SQLiteConnection("Data Source=test.dat");
connection.Open();
 
SQLiteCommand cmd = new SQLiteCommand("select * from Adressen", connection);
SQLiteDataReader reader = cmd.ExecuteReader();
 
if (reader.HasRows)
while (reader.Read())
{
  string name = reader.GetString(reader.GetOrdinal("Name"));
  string city = reader.GetString(reader.GetOrdinal("City"));
  MessageBox.Show(string.Format("{0}, {1}", name, city));
}
 
connection.Close();

Im Beispiel werden alle Datensätze aus der oben erstellten Tabelle “Adressen” eingelesen.
Jeder Datensatz wird dem Benutzer dann als MessageBox angezeigt.

SQLite Datenbank löschen

Ihre Datenbank können Sie (auch aus C# heraus) sehr einfach löschen, indem Sie die Datei “test.dat” (in unserem Beispiel) von der Festplatte löschen.

Voraussetzung ist, dass Sie keine offenen Verbindungen zur Datenbank haben. Ansonsten erhalten Sie einen Zugriffsfehler (“Access denied”).

Achtung:
Wenn Sie die Datendatei Ihrer SQLite Datenbank löschen, verlieren Sie sofort alle gespeicherten Daten !

Kategorie: Allgemeines, Anleitungen, C# .Net | Keine Kommentare »

Kommentare