1

我们需要能够创建一个 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 之前没有其他人遇到过这种情况吗?

4

2 回答 2

0

找不到解决方案,如果有人能想出一个我会改变我接受的答案!

于 2012-07-18T12:13:16.140 回答
0

您可以使用Microsoft OLE DB 提供程序

使用以下连接:

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

你查询:

comm.CommandText = "Create table Test (FirstName Numeric(4,0),LastName Char(50) )"
于 2015-06-17T21:33:01.640 回答