我们需要能够创建包含具有特定宽度和精度的数字列的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之前没有其他人遇到过这个问题吗?
答案 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) )"