如何在创建dBase数据库时指定数字宽度和精度?

时间:2010-04-13 15:07:45

标签: c# .net oledb shapefile dbase

我们需要能够创建包含具有特定宽度和精度的数字列的dBase数据库(.dbf文件)。我似乎能够设置精度而不是宽度。以下代码显示了我的连接字符串和命令文本。

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之前没有其他人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:0)

找不到任何解决方案,如果有人能提出解决方案,我会改变我接受的答案!

答案 1 :(得分: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) )"