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?

War es hilfreich?

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) )"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top