2010-04-13 52 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))" 
相关问题