Die Klasse repräsentiert eine (existierende) Datenbank. Alle Eigenschaften können nur ausgelesen werden.
Die Klasse Database verfügt über drei Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Connection | Connection | Gibt das übergeordnete DB-Verbindungsobjekt zurück, deren Eigenschaften und Methoden Sie dann verwenden können. |
Name | String | Liefert den Namen der Datenbank. |
System | Boolean | Gibt zurück, ob es sich bei der Datenbank um eine System-Datenbank handelt oder nicht. Die Eigenschaft gibt True zurück, wenn die Datenbank eine System-Datenbank ist. |
Tabelle 22.4.4.1.1 : Eigenschaften der Klasse Database
System-Datenbanken werden zum Betrieb eines DB-Servers (PostgreSQL, MySQL) oder beim Einsatz der DB-Bibliothek bei SQLite eingesetzt. Die Datenbank `mysql ` wird zum Beispiel in MySQL verwendet, um alle Log-System-Tabellen zu verwalten.
Die Methode Database.Delete( ) löscht eine Datenbank.
Der folgende Quelltext- Ausschnitt zeigt den Einsatz aller Eigenschaften und der einzigen Methode der Klasse Database:
Dim hConnection As Connection Dim hDataBase As Database Dim sMessage As String For Each hDataBase In DBCS.DBConnection.Databases hConnection = hDataBase.Connection Print "Connection Host: "; hConnection.Host Print "DBName: "; hDataBase.Name If hDataBase.System Then Print "Die Datenbank ist eine System-DB" Else Print "Die Datenbank ist keine System-DB" Endif '-- Achtung: Die folgenden Anweisungen erfordern Aufmerksamkeit! '-- Wenn eine Datenbank gelöscht wird, dann werden auch alle Tabellen mit den enthaltenen Daten gelöscht! '-- Legen Sie vorher unbedingt eine (vollständige) Datenbank-Sicherung an (Dump). If hDataBase.Name = "contacts.sqlite" Then sMessage = "<center><h4><font color='red'>Achtung!<br>Soll die Datenbank '" sMessage &= hDataBase.Name sMessage &= "' komplett gelöscht werden?</font color='red'></center></h3>" If Message.Question(sMessage, "Ja", "Nein - auf keinen Fall!") = 1 Then hDBDataBase.Delete() Endif Endif Next
Folgende Ausgaben werden in der Konsole der IDE produziert. Anschließend wird eine Löschen-Abfrage generiert:
Connection Host: /home/hans/.local/share/gambasbook/dbplayground/data/databases DBName: contacts.sqlite Die Datenbank ist keine System-DB
Abbildung 22.4.4.3.1: Abfrage zum Löschen einer ausgewählten Datenbank
Artikel