43
Wizards & Wizards & Builders Builders GmbH GmbH Arbeiten mit Tabellen Arbeiten mit Tabellen Grundlagen der Tabellen Grundlagen der Tabellen von FoxPro/Windows und von FoxPro/Windows und Microsoft Visual FoxPro Microsoft Visual FoxPro

Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Embed Size (px)

Citation preview

Page 1: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit TabellenArbeiten mit Tabellen

Grundlagen der Tabellen Grundlagen der Tabellen von FoxPro/Windows und von FoxPro/Windows und Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 2: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Diese Schulung dient zur Angleichungdes Basiswissens der

Schulungsteilnehmer über die Grundlagen der Programmiersprache

Xbase und der DBF-basierenden Datenbanksysteme.

Page 3: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

ThemenübersichtThemenübersicht

TabellenTabellen DatensätzeDatensätze IndizesIndizes RelationenRelationen CodepagesCodepages Collate-SequenzenCollate-Sequenzen Rushmore-OptimierungRushmore-Optimierung NetzwerkeNetzwerke VerzeichnisseVerzeichnisse Low-Level-DateienLow-Level-Dateien

Page 4: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Tabellen und DatensätzeTabellen und Datensätze

Arbeiten mit Tabellen und Arbeiten mit Tabellen und Datensätzen unter Datensätzen unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 5: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

TabellenformatTabellenformat

Tabellen (*.DBF)Tabellen (*.DBF) Header mit StrukturinformationHeader mit Strukturinformation Feste Feldlänge (außer Memo/General) Feste Feldlänge (außer Memo/General)

und Feste Feldanzahl = Feste Satzlängeund Feste Feldanzahl = Feste Satzlänge Referenz auf Memo- und Index-DateiReferenz auf Memo- und Index-Datei

Memodateien (*.FPT)Memodateien (*.FPT) Mehrfachindexdateien (*.CDX)Mehrfachindexdateien (*.CDX)

Header mit StrukturinformationHeader mit Strukturinformation

Page 6: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Öffnen von TabellenÖffnen von Tabellen

USE DatabaseName.Table | SQL-ViewUSE DatabaseName.Table | SQL-View IN nWorkArea | cTableAliasIN nWorkArea | cTableAlias [ONLINE], [ADMIN] (nur für Offline-Views)[ONLINE], [ADMIN] (nur für Offline-Views) AGAINAGAIN NOREQUERY (nur Remote) / NODATA (nur Views)NOREQUERY (nur Remote) / NODATA (nur Views) INDEX / ORDER TAG OF INDEX / ORDER TAG OF ASCENDING | DESCENDING (für Order)ASCENDING | DESCENDING (für Order) ALIASALIAS EXCLUSIVE, SHAREDEXCLUSIVE, SHARED NOUPDATENOUPDATE

Page 7: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit TabellenArbeiten mit Tabellen

CREATECREATE USE/USE IN/Used()USE/USE IN/Used() ISREADONLY()ISREADONLY() APPEND BLANKAPPEND BLANK EDIT / BROWSEEDIT / BROWSE DELETE / RECALLDELETE / RECALL GO TOP/ BOTTOMGO TOP/ BOTTOM GOTO, RECNO( )GOTO, RECNO( )

SKIP, SKIP -1SKIP, SKIP -1 BOF(), EOF()BOF(), EOF() SELECT()SELECT() DBF( ), ALIAS()DBF( ), ALIAS()

EXCLUSIVE:EXCLUSIVE: PACKPACK ZAPZAP

Page 8: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit DatensätzenArbeiten mit Datensätzen

REPLACE (FOR)REPLACE (FOR)

SET FILTER TOSET FILTER TO FILTER( )FILTER( )

LOCATE FORLOCATE FOR FOUND( )FOUND( )

APPEND FROMAPPEND FROM ArrayArray

COPY TOCOPY TO ArrayArray

IMPORTIMPORT EXPORTEXPORT SCATTERSCATTER GATHERGATHER

Page 9: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit FeldernArbeiten mit Feldern

Character / ZeichenCharacter / Zeichen Prefix: cPrefix: c (c)(c) Character BinaryCharacter Binary

Numeric / ZahlNumeric / Zahl Prefix: nPrefix: n (n)(n) Date / DatumDate / Datum Prefix: dPrefix: d (d)(d) Logical / LogischLogical / Logisch Prefix: lPrefix: l

(l)(l) Memofelder (Char)Memofelder (Char) Prefix: mPrefix: m (c)(c)

Memo BinaryMemo Binary

GeneralGeneral

Page 10: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Neue FeldartenNeue Feldarten

Integer / IntegerInteger / Integer Prefix: iPrefix: i (n)(n) Double / Doppelte G.Double / Doppelte G. Prefix: bPrefix: b (n)(n) Float / FließkommaFloat / Fließkomma Prefix: fPrefix: f (n)(n) Currency / WährungCurrency / Währung Prefix: yPrefix: y (y)(y) DateTime / DatumZeitDateTime / DatumZeit Prefix: tPrefix: t (t)(t)

Character Binary / Memo Binary (s.o.)Character Binary / Memo Binary (s.o.) Feldlänge Memo / General von 4 ByteFeldlänge Memo / General von 4 Byte

Page 11: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Leere Felder / NullwerteLeere Felder / Nullwerte

EMPTY( )EMPTY( ) ISBLANK( )ISBLANK( ) ISNULL( )ISNULL( ) SET NULLSET NULL NVL( )NVL( ) Beispiel: Beispiel:

Statistik, LogikStatistik, Logik

Page 12: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Weitere FunktionenWeitere Funktionen

Tabelle:Tabelle: Header( )Header( ) Reccount( )Reccount( ) Recsize( )Recsize( )

Felder:Felder: Fcount( )Fcount( ) Field( )Field( )

Namen u.ä.:Namen u.ä.: DBF( )DBF( ) CDX( )CDX( ) Lupate( ) (2 B.!)Lupate( ) (2 B.!)

Klauseln:Klauseln: Key( ) Key( ) For( )For( )

Page 13: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Indizes und RelationenIndizes und Relationen

Arbeiten mit Indizes und Arbeiten mit Indizes und mit Relationen unter mit Relationen unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 14: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

GrundlagenGrundlagen

Grundlagen:Grundlagen: Separate DateiSeparate Datei B-BaumB-Baum Schlüssel 100 B. Schlüssel 100 B.

IDX/240 B. CDXIDX/240 B. CDX Ausdruck 220 B.Ausdruck 220 B. Kein Alltrim()!Kein Alltrim()! AusdrückeAusdrücke

Benötigt für:Benötigt für: Rushmore-Rushmore-

OptimierungOptimierung SuchbefehleSuchbefehle RelationenRelationen dito persistentdito persistent Referentielle Referentielle

IntegritätIntegrität

Page 15: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit IndizesArbeiten mit Indizes

INDEX ON <Feldname> INDEX ON <Feldname> TO IDX | TO IDX | TAGTAG [OF] [OF]

[FOR <Bedingung>][FOR <Bedingung>]

[COMPACT][COMPACT]

[ASCENDING | [ASCENDING | DESCENDING]DESCENDING]

[UNIQUE | CANDIDATE][UNIQUE | CANDIDATE]

[ADDITIVE][ADDITIVE]

(kein PRIMARY)(kein PRIMARY)

SET ORDER TOSET ORDER TO ORDER( )ORDER( ) SEEK( )SEEK( ) SET KEY TOSET KEY TO

KEYMATCH( )KEYMATCH( ) LOOKUP( )LOOKUP( )

Page 16: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

IndexartenIndexarten

PRIMARY - PrimärschlüsselPRIMARY - Primärschlüssel nur in DBC, nicht in freien Tabellennur in DBC, nicht in freien Tabellen

CANDIDATE - Eindeutiger SchlüsselCANDIDATE - Eindeutiger Schlüssel REGULAR - Normaler SchlüsselREGULAR - Normaler Schlüssel UNIQUE - „Einmaliger“ SchlüsselUNIQUE - „Einmaliger“ Schlüssel

niemals NICHT VERWENDEN!niemals NICHT VERWENDEN! Sinnvoll gelegentlich in ViewsSinnvoll gelegentlich in Views

Funktionen: Primary(), Candidate()Funktionen: Primary(), Candidate()

Page 17: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

PrimärschlüsselPrimärschlüssel

Real-World-SchlüsselReal-World-Schlüssel meist zusammengesetztmeist zusammengesetzt Änderungen immer möglich! Änderungen immer möglich! Eindeutigkeit letztendlich nicht garantiertEindeutigkeit letztendlich nicht garantiert RI: Cascading Update notwendig!RI: Cascading Update notwendig!

Surrogate / Abstract -SchlüsselSurrogate / Abstract -Schlüssel fortlaufendfortlaufend selbst erzeugt (ggf. mit zentraler Tabelle)selbst erzeugt (ggf. mit zentraler Tabelle) Datenmodell komplett erstellbar ohne AttributeDatenmodell komplett erstellbar ohne Attribute RI: kein Cascading Update notwendigRI: kein Cascading Update notwendig

Page 18: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Probleme mit IndizesProbleme mit Indizes

Defekte Dateien:Defekte Dateien: durch Strom-durch Strom-

ausfall, Netz-ausfall, Netz-werkproblem werkproblem oder oder AbschaltenAbschalten

REINDEX bzw. REINDEX bzw. Neuerstellen !Neuerstellen !

Fehler:Fehler: 5 - Satz außerhalb 5 - Satz außerhalb

des Bereichsdes Bereichs 20 - Satz nicht in 20 - Satz nicht in

IndexdateiIndexdatei 1707 - Index-datei 1707 - Index-datei

fehlt!fehlt! 114 - Index stimmt 114 - Index stimmt

nicht mit Tabellenicht mit Tabelle

Page 19: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Weitere Fehler mit Weitere Fehler mit IndizesIndizes

1884 - Index nicht eindeutig1884 - Index nicht eindeutig 1886 - .NULL. nicht zulässig1886 - .NULL. nicht zulässig 1124 - Schlüssel zu lang1124 - Schlüssel zu lang 1683 - Index nicht gefunden1683 - Index nicht gefunden 1690 - UDF in Index auf Tabelle1690 - UDF in Index auf Tabelle 1141 - falsche Indexdateiversion1141 - falsche Indexdateiversion 2323 - Indexausdruck zu lang - Indexausdruck zu lang 10 - Indexname zu lang (10 B.)10 - Indexname zu lang (10 B.)

Page 20: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit RelationenArbeiten mit Relationen

SET RELATIONSET RELATION SET SKIPSET SKIP Relation( )Relation( ) Target( )Target( )

Hinweise:Hinweise: UmgebungsfensterUmgebungsfenster SET RELATION TO SET RELATION TO

RECNO( )RECNO( )

Alternatives Alternatives Anwendungs-Anwendungs-beispielbeispiel

Alternative: Alternative:

SQL-JoinsSQL-Joins

Alternative:Alternative:

SET KEY RANGESET KEY RANGE

Page 21: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Collate-Sequenzen/Collate-Sequenzen/CodepagesCodepages

Arbeiten mit Collate-Arbeiten mit Collate-Sequenzen/Codepages mit Sequenzen/Codepages mit

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 22: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit Collate-Arbeiten mit Collate-SequenzenSequenzen

SET COLLATE TO „<collate>“SET COLLATE TO „<collate>“ Default „GENERAL“ (2 Byte, A=a!)Default „GENERAL“ (2 Byte, A=a!) Original „MACHINE“ (schnell!)Original „MACHINE“ (schnell!) Alternativ: „GERMAN“, „UNIQWT“Alternativ: „GERMAN“, „UNIQWT“ Sonstige: „DUTCH“, „ICELAND“, Sonstige: „DUTCH“, „ICELAND“,

„NORDAN“, „SPANISH“, „SWEFIN“„NORDAN“, „SPANISH“, „SWEFIN“ Ggf. doppelte Index-Definition mit Ggf. doppelte Index-Definition mit

verschiedenen Collate-Sequenzen!verschiedenen Collate-Sequenzen!

Page 23: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Probleme mit CollateProbleme mit Collate

Datei „FoxPro.Int“ nicht gefundenDatei „FoxPro.Int“ nicht gefunden zukünftig evtl. in VFP eingebundenzukünftig evtl. in VFP eingebunden

Collate „General“ und „German“ Collate „General“ und „German“ fehlerhaftfehlerhaft Problem mit Integer, Double, Currency, Problem mit Integer, Double, Currency,

DatetimeDatetime

Keine Rushmore-Optimierung bei Keine Rushmore-Optimierung bei gemischten Collate-Sequenzengemischten Collate-Sequenzen IDXCOLLATE() für KontrolleIDXCOLLATE() für Kontrolle

Page 24: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit CodepagesArbeiten mit Codepages

437, 850, 1252, 437, 850, 1252, 1000010000

CPCURRENT( )CPCURRENT( ) CPDBF( )CPDBF( ) CPCONVERT( )CPCONVERT( )

veraltet: veraltet: ANSITOOEM() ANSITOOEM() OEMTOANSI()OEMTOANSI()

GETCP( )GETCP( ) CODEPAGE=autoCODEPAGE=auto

SET NOCPTRANSSET NOCPTRANS Character BinaryCharacter Binary Memo BinaryMemo Binary

SET CPDIALOGSET CPDIALOG SET CPCOMPILESET CPCOMPILE

Page 25: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Fehler mit Fehler mit Collate/CodepageCollate/Codepage

1914 - Codepage ungültig (oder 1914 - Codepage ungültig (oder nicht in FOXPRO.INT-Datei)nicht in FOXPRO.INT-Datei)

1915 - Collate-Sequenz 1915 - Collate-Sequenz „<Name>“ „<Name>“ nicht gefunden (FOXPRO.INT nicht gefunden (FOXPRO.INT fehlt / fehlerhaft)fehlt / fehlerhaft)

1916 - Codepage=AUTO in 1916 - Codepage=AUTO in CONFIG.FPW einstellenCONFIG.FPW einstellen

Page 26: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

OptimierungOptimierung

Rushmore-Optimierung Rushmore-Optimierung und Hardware unter und Hardware unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 27: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Rushmore-OptimierungRushmore-Optimierung

Indexdefinition vorhandenIndexdefinition vorhanden Keine FOR/NOT-Klausel im IndexKeine FOR/NOT-Klausel im Index Identische IndexdefinitionIdentische Indexdefinition

zusammengesetzte Felder, Alltrim()zusammengesetzte Felder, Alltrim()

Index auf Deleted() (bei SET DELE ON)Index auf Deleted() (bei SET DELE ON) Passende Collatesequenz Passende Collatesequenz (IDXCOLLATE)(IDXCOLLATE) Keine Sortierung (SET ORDER TO)Keine Sortierung (SET ORDER TO) Keine Abfrage auf Empty( ) / IsBlank( )Keine Abfrage auf Empty( ) / IsBlank( ) Kein exakter Vergleich (SET EXACT/ANSI OFF/==)Kein exakter Vergleich (SET EXACT/ANSI OFF/==)

==> Kontrolle mit==> Kontrolle mit SYS(3054,1/11) <==SYS(3054,1/11) <==

Page 28: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Optimierbare Befehle Optimierbare Befehle (FOR!)(FOR!)

AVERAGEAVERAGE DELETE / BLANKDELETE / BLANK BROWSEBROWSE CALCULATECALCULATE CHANGE / EDITCHANGE / EDIT COPY TO (ARRAY)COPY TO (ARRAY) COUNTCOUNT LIST / DISPLAYLIST / DISPLAY EXPORTEXPORT

INDEXINDEX LOCATELOCATE RECALLRECALL REPLACE (ARRAY)REPLACE (ARRAY) LABEL / REPORTLABEL / REPORT SCANSCAN SORTSORT SUMSUM TOTALTOTAL

Page 29: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Hardware-OptimierungHardware-Optimierung

Festplatte:Festplatte: HD-Controller!HD-Controller! Verteilung von Verteilung von

DBF und CDX DBF und CDX auf versch. auf versch. Festplatten Festplatten (nicht (nicht Partitionen !)Partitionen !)

Netzwerk:Netzwerk: Mehrere Mehrere

Netzwerk-karten Netzwerk-karten im Serverim Server

User auf Stränge User auf Stränge verteilen (z.B. 10 verteilen (z.B. 10 User/Strang)User/Strang)

UserprofilUserprofil

Page 30: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Multiuser-Multiuser-ProgrammierungProgrammierung

Arbeiten im Netzwerk und Arbeiten im Netzwerk und Multiuser-Programme mitMultiuser-Programme mitMicrosoft Visual FoxProMicrosoft Visual FoxPro

Page 31: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

SperrmöglichkeitenSperrmöglichkeiten

Öffnen im SHARED-ModusÖffnen im SHARED-Modus

RECORD LOCK - SatzsperreRECORD LOCK - Satzsperre Einzelsatz, mehrere SätzeEinzelsatz, mehrere Sätze

FILE LOCK - DateisperreFILE LOCK - Dateisperre HEADER LOCK - HeadersperreHEADER LOCK - Headersperre EXCLUSIVE - exklusives ÖffnenEXCLUSIVE - exklusives Öffnen

Page 32: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Sperrbefehle im NetzwerkSperrbefehle im Netzwerk

FILE LOCK:FILE LOCK: FLOCK( )FLOCK( ) IsFLocked( )IsFLocked( )

HEADER LOCK:HEADER LOCK: LOCK RECORD 0LOCK RECORD 0 UNLOCK REC 0UNLOCK REC 0

RECORD LOCK:RECORD LOCK: RLOCK( )RLOCK( ) IsRLocked( )IsRLocked( ) UNLOCK RECORDUNLOCK RECORD

EXCLUSIVE:EXCLUSIVE: USE EXCLUSIVEUSE EXCLUSIVE IsExclusive( )IsExclusive( )

Page 33: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Automatisches SperrenAutomatisches Sperren

FILE LOCK:FILE LOCK: ALTER TABLEALTER TABLE INSERT (xBase)INSERT (xBase) DELETE / REPLACE mit DELETE / REPLACE mit

ALL/REST/NEXT xALL/REST/NEXT x UPDATE (beide)UPDATE (beide)

HEADER LOCK:HEADER LOCK: APPEND normal sowie APPEND normal sowie

mit BLANK / FORmit BLANK / FOR INSERT (SQL)INSERT (SQL)

RECORD LOCK:RECORD LOCK: APPEND MEMOAPPEND MEMO DELETE / REPLACE / DELETE / REPLACE /

RECALL / BLANK so RECALL / BLANK so oder mit NEXT 1oder mit NEXT 1

DELETE / BLANK REC.DELETE / BLANK REC. GATHERGATHER CHANGE / EDITCHANGE / EDIT MODI MEMO, READMODI MEMO, READ BROWSE (Childs!)BROWSE (Childs!)

Page 34: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Sperren auch beim LesenSperren auch beim Lesen

Beim Verarbeiten Beim Verarbeiten von neben-von neben-stehenden stehenden Befehlen wird Befehlen wird nicht gesperrt!nicht gesperrt!

SET LOCK ON oder SET LOCK ON oder FLOCK() sinnvoll!FLOCK() sinnvoll!

Besser: vorher Besser: vorher SQL-Select in SQL-Select in CursorCursor

AVERAGEAVERAGE CALCULATECALCULATE COPY TO (ARRAY)COPY TO (ARRAY) LIST / DISPLAYLIST / DISPLAY LABEL / REPORTLABEL / REPORT SORTSORT COUNTCOUNT SUMSUM TOTALTOTAL

Page 35: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Sonstige NetzwerkbefehleSonstige Netzwerkbefehle

SET REFRESH - NeuanzeigeSET REFRESH - Neuanzeige sehr hohe Netzwerkbelastung bei BROWSE !sehr hohe Netzwerkbelastung bei BROWSE !

SET REPROCESS - WiederholungSET REPROCESS - Wiederholung SET MULTILOCKS - MehrfachsperrenSET MULTILOCKS - Mehrfachsperren SYS(3051) - Intervall SperrversucheSYS(3051) - Intervall Sperrversuche SYS(3052) - SET REPRO ausschaltenSYS(3052) - SET REPRO ausschalten SYS(0) - Rechnernummer im NetzSYS(0) - Rechnernummer im Netz SYS(2011) - alte Funktion wg. StatusSYS(2011) - alte Funktion wg. Status

Page 36: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Probleme mit PufferungProbleme mit Pufferung

Problem: Änderung von Daten-Problem: Änderung von Daten-sätzen durch andere Netz-User sätzen durch andere Netz-User erst sichtbar durch/nach:erst sichtbar durch/nach: SET REFRESH (problematisch)SET REFRESH (problematisch) SKIP, GOTO, SEEKSKIP, GOTO, SEEK Satzsperre RLOCKSatzsperre RLOCK

Lösung: Beim Lesen 1x SperrenLösung: Beim Lesen 1x Sperren

Page 37: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Server im VergleichServer im Vergleich

Novell-Server:Novell-Server: Schnelles Schnelles

DateisystemDateisystem Transaction Transaction

Tracking (TTS)Tracking (TTS) Directory Serv.Directory Serv. Nur NLM/JVMNur NLM/JVM Client-Fehler!Client-Fehler!

NT-Server:NT-Server: Sicherheit nur Sicherheit nur

mit NTFS (FAT)mit NTFS (FAT) Server-Anwen-Server-Anwen-

dungen!dungen! Remote OLE-Remote OLE-

AutomationAutomation BackofficeBackoffice

Page 38: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Verzeichnisse / LLFFVerzeichnisse / LLFF

Arbeiten mit Arbeiten mit Verzeichnissen und Low-Verzeichnissen und Low-

Level-Dateien in Level-Dateien in Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 39: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Navigieren in Navigieren in VerzeichnissenVerzeichnissen

HOME( )HOME( ) CURDIR( )CURDIR( ) DISKSPACE( )DISKSPACE( ) DIRECTORY( )DIRECTORY( ) GETDIR( )GETDIR( ) GETFILE( )GETFILE( ) LOCFILE( )LOCFILE( )

PUTFILE( )PUTFILE( )

CDCD(CHDIR)(CHDIR)

MDMD (MKDIR)(MKDIR) RDRD (RMDIR)(RMDIR)

SET DEFAULTSET DEFAULT SET PATHSET PATH

Page 40: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

LowLevel-DateifunktionenLowLevel-Dateifunktionen

FCREATE( )FCREATE( ) FOPEN( )FOPEN( ) FCLOSE( )FCLOSE( ) FSEEK( )FSEEK( ) FEOF( )FEOF( ) FCHSIZE( )FCHSIZE( ) FFLUSH( )FFLUSH( )

FGETS( )FGETS( ) FPUTS( )FPUTS( ) FREAD( )FREAD( ) FWRITE( )FWRITE( ) FILE( ) (FULLP)FILE( ) (FULLP) FDATE/FTIME()FDATE/FTIME() (INI in Cursor)(INI in Cursor)

Page 41: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Was ist zu bedenken?Was ist zu bedenken?

Korrekte Korrekte IndexdefinitionIndexdefinition

Probleme mit Probleme mit CodepagesCodepages

Probleme mit Probleme mit Collate-SequenzCollate-Sequenz

Rushmore-Rushmore-OptimierungOptimierung

Page 42: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Vielen Dank!Vielen Dank!

Das waren die Themen:Das waren die Themen: TabellenTabellen DatensätzeDatensätze IndizesIndizes RelationenRelationen CodepagesCodepages Collate-SequenzenCollate-Sequenzen RushmoreRushmore NetzwerkeNetzwerke VerzeichnisseVerzeichnisse Low-Level-DateienLow-Level-Dateien

Page 43: Wizards & Builders GmbH Arbeiten mit Tabellen Grundlagen der Tabellen von FoxPro/Windows und Microsoft Visual FoxPro

Wizards & Wizards & Builders GmbH Builders GmbH

Wenn Fragen bestehen:Wenn Fragen bestehen:

Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-

Entwicklung GmbHEntwicklung GmbH

Frankfurter Str. 21bFrankfurter Str. 21b

61476 Kronberg61476 Kronberg

Tel.: 06173-950906Tel.: 06173-950906

Fax: 06173-950907Fax: 06173-950907

CIS: 101605,175CIS: 101605,175