c# – 从SQL表记录创建.DBF文件

c# – 从SQL表记录创建.DBF文件,第1张

概述我想从SQL表记创建一个.DBF文件. 例如,如果在SQL中有一个名为CountryMaster的表,它有5列: > ID int identity(1,1) >名称varchar(100) >详细信息varchar(200) >状态位 > CreatedDate日期时间 它有100行. 如何使用C#中的.DBF文件中的头文件导出这些记录? 注意:创建的.DBF文件大小必须非常紧凑. 您可以看到 我想从sql表记录创建一个.DBF文件.

例如,如果在sql中有一个名为CountryMaster的表,它有5列:

> ID int IDentity(1,1)
>名称varchar(100)
>详细信息varchar(200)
>状态位
> CreatedDate日期时间

它有100行.

如何使用C#中的.DBF文件中的头文件导出这些记录?

注意:创建的.DBF文件大小必须非常紧凑.

解决方法 您可以看到 Xbase Data file (*.dbf)结构并编写自己的代码,但我已经完成了实现,并且已经使用了多年.在这里,您可以在 GitHub找到它

如何使用该库

在名为Dbffile.cs的文件中有一些写入方法.你可以使用它们中的任何一个.我将解释其中一些:

第一种写法

将Datatable另存为dbf文件:

static voID Write(string filename,System.Data.Datatable table,EnCoding enCoding)

> filename:是您希望保存.dbf输出文件的位置.
> table:是您从sql Server或任何其他来源读取的数据.
> enCoding:保存字符串数据时使用的编码

第二种写法

保存列表< T>进入dbf文件.

static voID Write<T>(string filename,List<T> values,List<Func<T,object>> mapPing,List<DbfFIEldDescriptor> columns,EnCoding enCoding)

读取数据库并将结果保存到某个类类型,然后使用此方法将类值保存到dbf文件.这是对它的参数的描述:

> filename:要保存的dbf文件名
> values:您的数据作为要保存到dbf文件中的类型T的对象列表
> mapPing:告诉此方法如何从类类型中检索数据的函数列表.
> columns:dbf列信息
> enCoding:dbf文件的编码.

第二种写入方法的示例

由于第一种方法是直接的,我提供了第二种写方法的示例.考虑您要保存List< MyClass>将数据转换为dbf文件.这是代码

class MyClass{    public int ID {get;set;}    public string name {get;set;}}

现在您可以保存List< MyClass>进入像这样的dbf文件:

var IDColumn = DbfFIEldDescriptors.GetIntegerFIEld("ID");var nameColumn = DbfFIEldDescriptors.GetStringFIEld("name");var columns = new List<DbfFIEldDescriptor>() { IDColumn,nameColumn };Func<MyClass,object> mAPId = myClass => myClass.ID;Func<MyClass,object> mapname = myClass => myClass.name;var mapPing = new List<Func<MyClass,object>>() { mAPId,mapname };List<MyClass> values = new List<MyClass>();values.Add(new MyClass() { ID = 1,name = "name1" });DbffileFormat.Write(@"C:\yourfile.dbf",values,mapPing,columns,EnCoding.ASCII);

Also using this library you can read dbf files and your code do not
depend on Microsoft.Jet.olEDB or anything else.

好好享受.

总结

以上是内存溢出为你收集整理的c# – 从SQL表记录创建.DBF文件全部内容,希望文章能够帮你解决c# – 从SQL表记录创建.DBF文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1261773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存