Hinweis: Dies ist die vollständige deutsche Übersetzung des Kapitels. Codebeispiele sind sprachunabhängig gültig.
Moderne Anwendungen benötigen SQL-Datenbanken. Harbour unterstützt diese über native oder ODBC-basierte Bibliotheken. Dieses Kapitel zeigt, wie man sich verbindet, Abfragen durchführt und SQL-Grundlagen verwendet.
Es gibt zwei Hauptwege:
Diese liegen im contrib
-Verzeichnis von Harbour. Beispiel mit hbmk2
:
hbmk2 meinprogramm.prg -lhbmysql -L/pfad/zu/mysql/lib
Direkte Anbindung an MySQL:
#include "hbmysql.ch"
hb_mysql_connect()
, hb_mysql_query()
, hb_mysql_fetch_row()
hb_mysql_close()
Verwendung von hb_pg_connect()
, hb_pg_exec()
, hb_pg_fetch_row()
u. a. zur Anbindung an PostgreSQL.
SQLite ist dateibasiert – ideal für Desktop-Apps.
sqlite3_open()
, sqlite3_exec()
, sqlite3_prepare_v2()
, sqlite3_step()
sqlite3_column_text()
, sqlite3_column_double()
sqlite3_finalize()
, sqlite3_close()
SQL-Befehle folgen dem CRUD-Prinzip:
SELECT name, email FROM kunden;
INSERT INTO kunden (name, stadt) VALUES ('Max', 'Wien');
UPDATE produkte SET preis = 19.90 WHERE id = 1;
DELETE FROM bestellungen WHERE status = 'Storniert';
Hinweis: Immer WHERE
-Klauseln verwenden, um unbeabsichtigte Änderungen zu vermeiden!