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!