C#里读写dbf文件 C#里读写dbf文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方式一: --------------------------------------------------------------- . 安装ODBC .NET data provider http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/668/msdncompositedoc.xml 首先建立一个DSN指向DBF文件所在的目录,比如说叫MYDBF,然后在你的VS.NET Project里面引用 using Microsoft.Data.Odbc 再用以下代码建立OdbcConnection, OdbcDataAdapter, DataSet. OdbcConnection oCn = New OdbcConnection("DSN=MYDBF") OdbcDataAdapter oDa = new OdbcDataAdapter("SELECT * FROM c:\myTable.dbf", oCn) DataSet oDs = New DataSet() oDa.Fill(oDs, "myTable") --------------------------------------------------------------- 方式二: --------------------------------------------------------------- 不用配odbc,那太不灵活了。 sSourceFileName : 文件名 strConn: 连接串 这只适用于: dBASE IV 如果想用别的可自己看着改把。 string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +sSourcePathName+@";Extended Properties=""dBASE IV;HDR=Yes;"";" ; OleDbDataAdapter adpt=new OleDbDataAdapter ("Select * From ["+ sSourceFileName +"]",strConn); DataSet mySet=new DataSet (); adpt.Fill (mySet); --------------------------------------------------------------- DataTable DTtxt //我假设你已经把txt中的数据,搞进着个dtTxt中了 string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +sSourcePathName +@";Extended Properties=""dBASE IV;HDR=Yes;"";" ; OleDbDataAdapter adpt=new OleDbDataAdapter ("Select * From ["+ sSourceFileName +"]",strConn); OleDbCommandBuilder bd =new OleDbCommandBuilder (tAdpt); DataSet mySet=new DataSet (); adpt.Fill (mySet); DataRow drDbf = mySet.Tables[0].NewRow(); foreach(DataRow drTxt in DTtxt.Rows) { 如果drDbf 和 drTxt; 格式一样可drDbf = drTxt; 如果不对应的话;只能一列一列的付值了 } mySet.Tables[0].Rows.Add(drDfb); adpt.Update(); dbf 好象是数据库文件呀 都要先引用某些空间 再操作吧? to bingbingcha:3Q 偶测试下..过后揭帖 ==================借道问个问题:===============您好。我看了你们的回复的但是我现在对写入dbf仍然有点问题。请你们帮看一下:谢谢string strcon= "Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="+Server.MapPath("data.mdb"); OleDbConnection conn=new OleDbConnection(strcon); string sql="select * from DK1998"; conn.Open(); DataSet ds=new DataSet(); OleDbDataAdapter adpt=new OleDbDataAdapter(sql,conn); adpt.Fill(ds); DataTable dt=ds.Tables[0];//从access中读出的一张表。 string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\\MyAspNet\\bank;Extended Properties=dBASE IV;"; OleDbDataAdapter adpt1=new OleDbDataAdapter("Select * From qq",strConn); OleDbCommandBuilder bd=new OleDbCommandBuilder(adpt1); //Without the OleDbCommandBuilder this line would fail DataSet mySet=new DataSet(); adpt1.Fill(mySet,"n"); DataRow drDbf; foreach(DataRow dtrow in dt.Rows) { drDbf=mySet.Tables["n"].NewRow();//新建立一行 drDbf=dtrow; mySet.Tables["n"].Rows.Add(drDbf); } adpt1.Update(mySet); Winwows 应用程序列表 c# MS Chart控件使用问题 ITextSharp 5.0以后 给pdf文件增加页码 C# 中怎么将datetime类型转成DB2里可用的date型啊? 如何停止掉当前正在执行的进程 C#有谁能够帮忙看看这个是什么意思,如何装换成JAVA? 这个正则表达式是什么意思?Regex(@"\d{1,}"); 在不用多线程的情况下怎么让进程睡眠? 我是新手,,帮忙解决一下 怎么保存DataGridView(显示的表是用代码写出来的)里的内容(经过修改,删除)到数据库中??? 求助!!帮帮我啊 请问程序上能不能限制数据库的连接数啊
3Q 偶测试下..过后揭帖
您好。我看了你们的回复的
但是我现在对写入dbf仍然有点问题。
请你们帮看一下:谢谢
string strcon= "Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="+Server.MapPath("data.mdb");
OleDbConnection conn=new OleDbConnection(strcon);
string sql="select * from DK1998";
conn.Open();
DataSet ds=new DataSet();
OleDbDataAdapter adpt=new OleDbDataAdapter(sql,conn);
adpt.Fill(ds);
DataTable dt=ds.Tables[0];//从access中读出的一张表。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\\MyAspNet\\bank;Extended Properties=dBASE IV;";
OleDbDataAdapter adpt1=new OleDbDataAdapter("Select * From qq",strConn);
OleDbCommandBuilder bd=new OleDbCommandBuilder(adpt1); //Without the OleDbCommandBuilder this line would fail
DataSet mySet=new DataSet();
adpt1.Fill(mySet,"n");
DataRow drDbf;
foreach(DataRow dtrow in dt.Rows) {
drDbf=mySet.Tables["n"].NewRow();//新建立一行
drDbf=dtrow;
mySet.Tables["n"].Rows.Add(drDbf);
}
adpt1.Update(mySet);