Wie numerische Breite und Genauigkeit angeben, wenn eine dBase-Datenbank zu erstellen?
Frage
Wir müssen in die Lage, eine dBase-Datenbank (DBF-Datei), die numerischen Spalten mit bestimmten Breite und Genauigkeit zu schaffen. Ich scheine in der Lage sein, die Präzision zu setzen, aber nicht die Breite. Die folgende Code zeigt meine Verbindungszeichenfolge und mein Befehlstext.
using (OleDbConnection oConnection = new OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = {0};Extended Properties=dBase 5.0", msPath)))
{
....
oCommand.CommandText = "CREATE TABLE [Field] ([Id] Numeric (15, 3))";
oCommand.ExecuteNonQuery();
}
Das gibt mir eine Spalte Id,20,3
in der Datei.
Es muss ein Weg sein, um die Feldbreite zu setzen, ohne Rückgriff die DBF-Datei manuell zu bearbeiten? Hat sonst niemand über diese kommen vor, wenn Shape-Dateien erstellen?
Lösung
Es kann keine Lösung gefunden werden, wenn jemand mit einem kommen kann, werde ich meine akzeptierte Antwort ändern!
Andere Tipps
Sie können mit Microsoft OLE DB-Provider
Mit der folgenden conection:
connectionString = @"Provider=vfpoledb.1;Data Source=" + path + ";Collating Sequence=machine;";
und Sie Abfrage:
comm.CommandText = "Create table Test (FirstName Numeric(4,0),LastName Char(50) )"