Ich habe nach verschiedenen Techniken zum Lesen / Schreiben von dBase III (dbf) -Dateien mit OLEDB oder ODBC mit C # /. NET gesucht. Ich habe fast alle Techniken gepostet, aber ohne Erfolg. Kann mir jemand in die richtige Richtung zeigen?
Danke für Ihre Zeit.
Ich realisiere, das ist ein alter Thread, aber für den Fall, dass jemand von Google kommt (wie ich vor ein paar Tagen) .. Wie ich schrieb hier ist die elegante Lösung, LINQ zu verwenden an VFP , um von DBF-Dateien zu lesen und zu schreiben. Ich habe es mit einigen dBase III-Dateien getestet. Es geht so:
Sie definieren Ihre Tabelle so, dass sie der DBF-Definition entspricht:
%Vor%Sie definieren den Kontext wie folgt:
%Vor%Sie definieren Kontextattribute wie folgt:
%Vor% Sie benötigen auch eine Verbindungszeichenfolge, die Sie in app.config wie folgt definieren können ( Data\
relativer Pfad wird in diesem Fall als Quelle für DBF-Dateien verwendet):
Und schließlich können Sie das Lesen und Schreiben von DBF-Dateien so einfach wie:
durchführen %Vor%FoxPro 2.0-Dateien waren genauso wie dBase III-Dateien mit einem zusätzlichen Bit für jedes Feld vom Typ "Memo" (nicht sicher, der genaue Name, es ist eine Weile her). Das bedeutet, dass wenn Sie nur eine FoxPro 2.x-Methode für den Zugriff auf die Dateien verwenden, sollte es funktionieren.
>Ich habe viele Antworten auf die Arbeit mit Datenbankdateien (insbesondere VFP, aber der Microsoft VFP OleDb-Anbieter wird ältere dbase-Dateien erkennen. Sie können eine Suche nach mehr dieser Links über finden:
Benutzer: 74195 [vfp] [oledb]
Zuerst würde ich damit beginnen, den Microsoft VFP OleDb Provider herunterzuladen .
Wenn Sie bereits einige dbf-Dateien haben, mit denen Sie versuchen möchten, eine Verbindung herzustellen, müssen Sie eine Verbindung herstellen. Die Verbindung muss auf den Pfad verweisen, in dem sich die Dateien befinden, nicht auf die spezifische DBF-Datei. Wenn Sie also einen Ordner mit 20 Tabellen haben, können Sie nach dem Verbinden mit dem PATH alle Tabellen über die Standard-VFP-SQL-Syntax abfragen (die bei vielen SQL-Strukturen üblich ist, aber auf der Grundlage einiger Funktionen unterschiedlich ist) wie String-, Datums- und Zahlenmanipulationen).
Erfahren Sie mehr über die PARAMETRIERUNG Ihrer Abfragen. Mit VFP OleDb werden Parameter mit dem "?" Zeichen als Platzhalter, so dass die Parameter genau in derselben Reihenfolge hinzugefügt werden müssen, wie sie in der Abfrage erscheinen. Das "?" kann als Feldwerte, Join-Bedingungen, Kriterien usw. angezeigt werden.
Die folgenden sind ein paar, um Sie zu beginnen HOPEFULLY erhalten Sie mit einer gültigen Verbindung beginnen, Abfrage, dann einfügen / aktualisieren / löschen mit Parametern.
Beispiel mit einer Verbindungszeichenfolge und einer einfachen Abfrage aus einer Tabelle
Zeigt eine parametrisierte sql-Einfügung aber in diesem Fall holt die Daten von einer anderen Datenquelle, wie sql-server und eine VFP / dbf Art Tabelle von ihr herstellend. Es durchläuft zyklisch Datensätze und zieht Werte für jeden Parameter und fügt sie ein.
Viel Glück, und es gibt viele andere, die auf VFP und OleDb Access antworten, dies sind nur einige, an denen ich speziell teilgenommen habe und funktionale Implementierungen zeigen, die etwas haben könnten, was Sie sonst vielleicht übersehen hätten.