Vordefinierte Datenbankfunktionen

Formulare, die Datenbankänderungen durchführen, werden als Transaktionen behandelt. In Abhängigkeit von dem Ergebnis des Formulars wird nach Beendigung die Transaktion bestätigt (Returnwert == 0) oder alle Datenbankänderungen werden Rückgängig gemacht (Returnwert != 0).

Treten während der Abarbeitung von Formularen Datenbankfehler auf, so werden diese protokolliert und in gekürzter Form in der Statuszeile angezeigt.

dbreadlock

Definition

 int dbreadlock (mask para_1)

Beschreibung

Setzt eine Lesesperre auf alle Tabellen die in der Maske para_1 enthalten sind. Nach Beendigung des Formulars werden die Sperren automatisch aufgehoben.

Rückgabewert

0 bei Erfolg
-1 bei Datenbankfehler

Beispiel

 ...
 dbreadlock (arti);
 ...

dbopencursor

Definition

 int dbopencursor (mask para_1)

Beschreibung

Setzt eine Abgrenzung auf die Maske para_1 und positioniert den Cursor auf den ersten Datensatz. Der Rückgabewert sagt nichts darüber aus, ob sich Datensätze innerhalb der Abgrenzung befinden.

Rückgabewert

0 - Erfolg
-1 - Datenbankfehler

Beispiel

 arti.ART_ARTI_ARTI.o = 1;
 /* 1. Ordnungskriterium ist das Feld ART_ARTI_ARTI */
 arti.BEZ1_ARTI_ARTI.o = 2;
 /* 2. Ordnungskriterium ist das Feld BEZ1_ARTI_ARTI */
 if (dbopencursor (arti)) {
       ret = -1;
 } else {
      while (! (i = dbfetchcursor (arti))) {
         /* Zugriff auf Datensatz über artikel.feldname.m */
         ...
         ...
      }
      dbclosecursor (arti);
    }
 if (i < 0) {
         ret = -1;
 }
 ...

dbfetchcursor

Definition

 int dbfetchcursor (mask para_1)

Beschreibung

Kopiert den Datensatz der aktuellen Cursorposition in die Felder der Maskenvariablen para_1 (Feldinhalte werden nach Maskenfeldtyp 'm' kopiert), und positioniert auf der Datenbank um einen Datensatz weiter.

Rückgabewert

0 - Erfolg
100 - es befindet sich kein Datensatz an der aktuellen Cursorposition - der Cursor wurde außerhalb der Abgrenzung positioniert oder es existiert kein Datensatz innerhalb der Abgrenzung
-1 - Datenbankfehler

Beispiel

siehe dbopencursor

dbclosecursor

Definition

 int dbclosecursor (mask para_1)

Beschreibung

Schließt den Cursor der Maskenvariablen para_1.

Rückgabewert

0 - Erfolg
-1 - Datenbankfehler

Beispiel

siehe dbopencursor

dbdelete

Definition

 int dbdelete (mask para_1)

Beschreibung

Löscht einen Datensatz aus der Haupttabelle von para_1. Es wird automatisch dblock (para_1) ausgeführt. Die Funktion ist nur im Funktionsformularkompiler verfügbar.

Rückgabewert

0 - Erfolg
-1 - Datenbankfehler

Beispiel

 arti.ART_ARTI_ARTI.s = "ART-00001";
 /* Abgrenzungskriterium ist Artikelnummer, ART-00001 */
 if (dbopencursor (arti)) {
       return -1;
 } else {
     if (!(i = dbfetchcursor (arti))) {
             /* Datensatz aus Tabelle ARTI wird gelöscht */
             ret = dbdelete (arti);
     }
     dbclosecursor (arti);
     if (rc < 0) {
            return -1;
     }
 }

dbinsert

Definition

 int dbinsert (mask para_1)

Beschreibung

Fügt einen Datensatz in die Haupttabelle von para_1 ein. Es wird automatisch dblock (para_1) ausgeführt. Die Funktion ist nur im Funktionsformularkompiler verfügbar.

Rückgabewert

0 - Erfolg
-1 - Datenbankfehler

Beispiel

 /* Sperrkennzeichen ist 0 */
 arti.SPKZ_ARTI_ARTI.m = 0;
 /* Datensatz aus der aktuellen Maske wird eingefügt */
 ret = dbinsert (arti);
 setcurmaskcont (arti);
 return ret;

dbupdate

Definition

 int dbupdate (mask para_1)

Beschreibung

Ändert einen Datensatz in die Haupttabelle von para_1. Es wird automatisch dblock (para_1) ausgeführt. Die Funktion ist nur im Funktionskompiler verfügbar.

Rückgabewert

0 - Erfolg
-1 - Datenbankfehler

Beispiel

 atrk.ADNR_ATRK_ATRK.m = deb.ADNR_DEB_DEB.m;
 ....
 ret = dbupdate (atrk);
programmierung/formulare/funktionen/vordefdb.txt · Zuletzt geändert: 01.03.2020 08:25 (Externe Bearbeitung)
 

mercaware ist eine ERP-Software der All for Accounting GmbH

ERP für Ihr einzigartiges Unternehmen

Auberlenstr. 13
70736 Fellbach
Tel.: +49 711 90 65 79 71
E-Mail: