User Tools

Site Tools


Sidebar

Databases

k22:k22.4:k22.4.4:start

22.4.4 Klasse Database (gb.db)

Die Klasse repräsentiert eine (existierende) Datenbank. Alle Eigenschaften können nur ausgelesen werden.

22.4.4.1 Eigenschaften

Die Klasse Database verfügt über drei Eigenschaften:

tablelayout

EigenschaftDatentypBeschreibung
ConnectionConnectionGibt das übergeordnete DB-Verbindungsobjekt zurück, deren Eigenschaften und Methoden Sie dann verwenden können.
NameStringLiefert den Namen der Datenbank.
SystemBooleanGibt 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.

22.4.4.2 Methoden

Die Methode Database.Delete( ) löscht eine Datenbank.

22.4.4.3 Beispiel

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

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k22/k22.4/k22.4.4/start.txt · Last modified: 27.12.2021 (external edit)

Page Tools