2010-04-13 98 views
1

我們需要能夠創建包含具有特定寬度和精度的數字列的dBase數據庫(.dbf文件)。我似乎可以設置精度但不是寬度。以下代碼顯示了我的連接字符串和我的命令文本。如何在創建dBase數據庫時指定數字寬度和精度?

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(); 
} 

這給了我一個文件列Id,20,3

必須有方法來設置字段寬度而無需手動編輯.dbf文件?在創建shapefile之前沒有人遇到過這個問題嗎?

+0

你解決你的問題? – 2011-03-28 00:26:12

+0

@Andrew Kalashnikov - 不,我們從未解決過這個問題。我們的形狀文件的消費者放鬆了他們的要求。 – stevehipwell 2011-03-28 07:52:06

回答

0

沒有解決方案可以找到,如果任何人都可以拿出一個我會改變我接受的答案!

0

您可以使用Microsoft OLE DB Provider

使用下面的連接如:

connectionString = @"Provider=vfpoledb.1;Data Source=" + path + ";Collating Sequence=machine;"; 

和您查詢:

comm.CommandText = "Create table Test (FirstName Numeric(4,0),LastName Char(50))"