Wie kann man dbf nativ lesen und schreiben?

7

In Delphi für Win32, wie man eine dbf-Datei auf native Weise, ohne die BDE liest und schreibt? Ich weiß, dass einige Komponenten im Internet verfügbar sind, aber ich habe noch nie eine davon verwendet, daher weiß ich nicht, welche ich wählen soll (falls vorhanden).

    
eKek0 25.09.2010, 23:19
quelle

6 Antworten

14

Sie können ADO verwenden, um auf eine DBF-Datei zuzugreifen

Siehe den Beispielcode (mit einem TAdoConnection und TAdoDataSet Komponenten).

%Vor%     
RRUZ 26.09.2010, 00:34
quelle
8

Ich habe TDBF verwendet, als ich noch mit DBF-Dateien gearbeitet habe (einige Legacy-Apps). Ich benutze es immer noch für die Wartung dieser Apps hier und da. Es ist kostenlos, hat viele Funktionen und funktioniert gut.

    
Runner 26.09.2010 05:55
quelle
1

Ich habe Topaz von Software Science viele Jahre lang verwendet, bevor ich mit Firebird angefangen habe. Es war immer eine ausgezeichnete Bibliothek, hatte ein tolles Handbuch und gute technische Unterstützung. Es unterstützt Indizes und hat sogar eine In-Memory-Option. Ich denke, es wäre eine gute Wahl.

    
jrodenhi 25.09.2010 23:32
quelle
1
0

Es ist nicht schwer, eine DBF-Datei zu lesen, wenn Sie keine Indizes benötigen. Das Format ist ziemlich einfach. Ein Header folgte für Register fester Größe. In jedem Register befindet sich ein Flag, das anzeigt, ob es gelöscht wurde oder nicht. Ich schlage vor, nach einer Komponente zu suchen, die das macht, was Sie wollen. Sie können einige auf Torrys Delphi-Seiten finden.

    
Eduardo Mauro 25.09.2010 23:25
quelle
0

ADO funktionierte nicht für mich, aber ich habe es geschafft, meine DBF-Datei mit BDE zu öffnen:

Von einem Datenzugriff (oder BDE, abhängig von Ihrer Version von Delphi) Abschnitt habe ich eine TDataBase und TTable Komponenten (Sie können TQuery verwenden, wenn Sie wollen).

Durch Doppelklick auf TDataBase-Komponente habe ich den Setup-Dialog geöffnet. Das Feld Name wurde mit 'db_name' gefüllt (der Name ist willkürlich), Treibername = 'STANDARD', Parameterfeld: 'PATH = C: \ Path \ To \ DBF_FILES \'. Dann setze ich Connected = True.

Dann setze ich in der TTable-Komponente DatabaseName = 'db_name' - den, den ich in der TDataBase-Komponente eingestellt habe. Und die TableName-Eigenschaft 'DB_FILE.dbf', die sich im angegebenen Ordner befand. Aktiv = Wahr.

Sie wissen, was als nächstes zu tun ist

    
Dany 12.08.2016 06:19
quelle

Tags und Links