在C#3.5中生成dBase II DBF文件

时间:2010-09-30 17:26:42

标签: c# dbf dbase

我正在生成dbf文件以导入到仅接受dBase II OR III的旧系统。我的用法是.Net 3.5。我最初开始使用这个组件VFPOLEDB.1,但它只生成dBase V格式的dbf文件,这不是向后兼容的。

任何人都知道在dBase II或III中生成de dbf文件的组件或驱动程序

由于

3 个答案:

答案 0 :(得分:1)

尝试发出调用以执行打开文件的脚本,然后执行

复制到{some file}键入FOX2X

应该可以获得输出......

还有一篇类似的文章通过C#通过VFPOleDB完成,我会尝试找到它......是的,并且归功于@DaveB,这是他在Create .DBF in C# code that is readable from Excel (VFP or not)中的帖子的片段< / p>

 string connectionString = @"Provider=VFPOLEDB.1;Data Source=C:\YourDirectory\"; 

    using (OleDbConnection connection = new OleDbConnection(connectionString)) 
    { 
        using (OleDbCommand scriptCommand = connection.CreateCommand()) 
        { 
            connection.Open(); 

            string vfpScript = @"USE TestDBF 
                                 COPY TO OldDBaseFormatFile TYPE Fox2x 
                                USE"; 

            scriptCommand.CommandType = CommandType.StoredProcedure; 
            scriptCommand.CommandText = "ExecScript"; 
            scriptCommand.Parameters.Add("myScript", OleDbType.Char).Value = vfpScript; 
            scriptCommand.ExecuteNonQuery(); 
        } 
    } 

原帖是为了能够以Excel格式打开文件。

答案 1 :(得分:0)

我记得几年前尝试做这件事而失败了。我的解决方案是采用现有的dBase II文件,清空所有数据,并将该空文件保留为模板,以便在需要创建新数据库时使用。

答案 2 :(得分:0)

ESRI的Shapefile格式使用dBase III存储属性数据。在SharpMap项目中有一个不错的实现,你应该能够独立使用(谨慎使用许可证:它是LGPL)。

http://code.google.com/p/sharpmapv2/source/browse/trunk/SharpMap.Data.Providers/ShapeFileProvider/DbaseFile.cs