证券行业会碰到很多foxpro生成的dbf文件,特别是中国登记结算公司发送给券商的清算文件,都是dbf格式的文件。我们通常会写一些工具读取清算文件做一些对账工作,程序读取dbf的方式很多,但是大部分都非常的慢,这里提介绍用C#快速方便读取dbf文件的方法。
首先需要先下载安装vfpoledb驱动,微软官网或者百度一下即可下载安装;下面提供C#读取dbf的函数,将dbf文件的数据读取到DataTable中:
public static DataTable DbfToDsByVFP(string tableName, string tablePath)
{
string my_StrSel = @"select * from " + tableName;
OleDbConnection mycon = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=" + tablePath + ";collating Sequence=MACHINE");
OleDbDataAdapter da = new OleDbDataAdapter(my_StrSel, mycon);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}