SQLite ist eine schlanke und kostenlose Datenbank, die dennoch für die meisten Anwendungsfälle ausreichend ist.

Lege einen neuen Ordner an und nenne ihn z.B. sqlitedemo1.

Auf der Seite https://www.sqlite.org/download.html findest du unter der Überschrift Precompiled Binaries for Windows ein Zip Archiv, dessen Namen mit sqlite-dll-win32-x86- beginnt, gefolgt von der aktuellen Version. Lade dieses Zip und kopiere die DLL Datei aus dem Archiv in den Ordner sqlitedemo1.

Für den Zugriff auf die DLL aus dem D Coding benötigst du Implib. Lade das Archiv http://ftp.digitalmars.com/bup.zip auf deinen PC und kopiere die Datei implib.exe in das Verzeichnis C:\D\dmd2\windows\bin.

Öffne im Ordner sqlitedemo1 ein Kommandozeilenfenster und führe diesen Befehl aus, um aus der DLL sqlite3.dll eine statische Bibliothek sqlite3.lib zu erzeugen:

implib /s sqlite3.lib sqlite3.dll

Als nächstes Schritt laden wir uns eine D Bibliothek auf unseren PC, die das Arbeiten mit SQLite sehr einfach macht. Es gibt verschiedene Bibliotheken, ich benutze in diesem Tutorial die arsd Bibliothek von Adam D. Ruppe.
Klickt auf der Seite https://github.com/adamdruppe/arsd auf den Button Clone or download und dann auf Download as ZIP. Kopiere aus dem ZIP Archive die Datei database.d und sqlite.d in den Ordner sqlitedemo1.

Damit sind alle Vorarbeiten abgeschlossen und wir können das eigentliche Programm schreiben. Lege eine Datei mit dem Namen app.d an und öffne sie mit einem Editor deiner Wahl. Für den Anfang ist Notepad ausreichen.

import std.stdio;
import arsd.database, arsd.sqlite;

void main()
{
	Database db = new Sqlite("demo.db");
	auto result = db.query(
		`SELECT name FROM sqlite_master 
		WHERE type='table' AND name=?`, "recipients");
	
	if (result.empty)
	{
		db.query(`CREATE TABLE recipients (
			ID INTEGER PRIMARY KEY AUTOINCREMENT, 
			FIRST_NAME TEXT NOT NULL,
			LAST_NAME TEXT NOT NULL
		)`);
		
		db.query(
			`INSERT INTO recipients (FIRST_NAME, LAST_NAME) 
			VALUES (?, ?);`, "John", "Doe");
	}
	
	foreach(row; db.query(`SELECT * FROM recipients`))
	{
		writeln(row);
	}
        readln();
}

Es wird eine SQLite Verbindung zu der Datei „demo.db“ aufgebaut. Falls diese Datei noch nicht existiert wird sie im aktuellen Verzeichnis angelegt. Danach wird geprüft ob die Tabelle recipients existiert. Falls nicht, wird auch diese angelegt und danach ein neuer Datensatz eingefügt. Am Ende werden alle Datensätze aus der Tabelle recipients ausgegeben.

Die Anwendung wird mit diesem Befehl erzeugt:

dmd app database sqlite

Zum Starten einfach doppelt auf die erzeugte Exe Datei klicken. Wenn du deine Anwendung weitergeben möchtest, musst du die EXE + die DLL weitergeben.