130 likes | 209 Views
Neue DBF und DBC Befehle in Visual FoxPro. DBF Befehle. CREATE TABLE [FREE]... Create Table ermöglicht programmatisch anlegen von Tabellen mit allen Zusatz Funktionen. Ist ein DBC geöffnet so wird die Tabelle immer an diesen angehängt, wenn Sie den Befehl FREE nicht mit angeben.
E N D
DBF Befehle • CREATE TABLE [FREE]... • Create Table ermöglicht programmatisch anlegen von Tabellen mit allen Zusatz Funktionen. • Ist ein DBC geöffnet so wird die Tabelle immer an diesen angehängt, wenn Sie den Befehl FREE nicht mit angeben. • ALTER TABLE... • Strukturänderungen an bestehenden Tabellen • INDEXSEEK(...) • IndexSeek ermöglicht ein normales Seek ohne dabei den Datensatzzeiger zu bewegen.
DBC Befehle - Tabellen • ADD / REMOVE TABLE • FREE TABLE • Achtung: Alle Metadatengehen endgültig verloren! • CLOSE TABLES [ALL] • Schließen aller Tabellen des ausgewählten DBC • Wenn kein DBC aktiv ist werden alle freien Tabellen in allen Arbeitsbereichen geschlossen • INDBC() • Überprüfen ob die Tabelle oder anderes Daten Objekt (View..) im aktuell aktiven DBC enthalten ist.
DBC Befehle - Tabellen • CREATE TRIGGER ON TableNameFOR DELETE | INSERT | UPDATE AS lExpression • DELETE TRIGGER ON TableName FOR DELETE | INSERT | UPDATE
DBC Befehle (1) • CREATE DATABASE • OPEN DATABASE • MODIFY DATABASE • CLOSE DATABASE • DELETE DATABASE • PACK DATABASE • VALIDATE DATABASE [RECOVER] • Überprüft die Gültigkeit des DBC und aller Tabellen. Mit Recover (DBC Exklusiv) können die meisten, leider nicht alle, Fehler behoben werden.
DBC Befehle (2) • SET DATABASE TO • Neben den von Tabellen bekannten Arbeitsbereichen hat auch jeder DBC einen Arbeitsbereich. Das SET DATA TO entspricht ungefähr dem SELECT bei Tabellen. • DBC() • Namen und Pfad der aktuellen Datenbank • DBUSED() • Prüfen ob eine Datenbank geöffnet ist.
DBC Befehle (3) • ADBOBJECTS() • Schreibt die Namen von benannten Verbindungen, von Beziehungen, von Tabellen oder von SQL-Ansichten der aktuellen Datenbank in ein Array. • ADATABASES() • Schreibt die Namen aller geöffneten Datenbanken sowie deren Pfade in ein Array. Nett: In der VFP6.0 Hilfe unter ADATENBANKEN() zu finden.
DBC Befehle (4) • DBGETPROP(cName, cType, cProperty) • Gibt eine Eigenschaft der aktuellen Datenbank oder von Feldern, benannten Verbindungen, Tabellen oder Ansichten der aktuellen Datenbank zurück. • DBSETPROP(cName, cType, cProperty, ePropertyValue) • Stellt eine Eigenschaft der aktuellen Datenbank oder von Feldern, benannten Verbindungen, Tabellen oder Ansichten der aktuellen Datenbank ein.
Navigation in Tabellen (1) • Öffnen von Tabellen/ Ansichten :USE Databasename.Table in nWorkArea ALIAS cAliasSET ORDER TO cIndexName | nIndexNummerSET INDEX TO cIndexdateiName TAG cINdexTag • nach (physischer) Satznummer GOTO nSatzNr && bewegt den Datensatzzeiger zum Datensatz nSatzNr? RECNO() && Rückgabe der SatznummerSKIP nSaetze && bewegt den Datensatzzeiger um nSaetze weiterSKIP -nSaetze && bewegt den Datensatzzeiger um nSaetze zurück
Navigation in Tabellen (2) • GO TOP && bewegt den Datensatzzeiger an den DateianfangGO BOTTOM && bewegt den Datensatzeiger an das Dateiende • ? EOF() && gibt logisch true zurück wenn das Dateiende erreicht wurde? BOF() && gibt logisch true zurück wenn der Dateianfang erreicht wurde • Weitere:LOCATE FOR lAusdruck && durchsucht die Tabelle nach Sätzen bei denen der lausdruck erfüllt ist. SCAN FOR lAusdruck && siehe Locate
Navigation in Tabellen (3) • SEEK eAusdruck && Durchsucht eine tabelle nach dem ersten Datensatz, dessen && INDEXSCHLÜSSEL dem allgemeinen Ausdruck eAusdruck • SEEK(eExpression, nWorkArea|cTableAlias) && siehe seek aber als Funktionsaufruf • Neu in VFP 6.0:INDEXSEEK && Suchen ohne den Datensatz Zeiger zu bewegen • SELECT - SQL-Befehl
Zusammenfassung • Tabellen (DBF) Befehle • Datenbank (DBC) Befehle • Navigation in Tabellen
Anregungen und Fragen TMN-Systemberatung GmbH Allee 62 74072 Heilbronn http://www.tmn-systemberatung.de info@tmn-systemberatung.de