将DBF文件导入到其它数据库

说明:一直在网上找在asp.net(C#)中将DBF文件导入到SQL Server的方法,均不成功!后来找到网友sunrongxa(西康指挥部.net)在一个贴子中的解答,参照成功完成了。特此摘录!非常感觉网友sunrongxa(西康指挥部.net)。

 

 

注意:DBF要foxpro格式  
  vfp的先转成foxpro。in   vfp:   use   database   enter   copy   to   your   need   database   name   foxplus  
  //connect   to   foxpro  
  string   strConnFox="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="+System.Web.HttpContext.Current.Server.MapPath("")+"//UpLoad"+";Extended   Properties=dBase   IV";  
  //connect   to   Access   in   this   you   need   to   change   to   sqlserver  
  string   strConnAcc="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   System.Web.HttpContext.Current.Server.MapPath("..//")+"zql.mdb"   ;  
   
  OleDbConnection   connFox   =   new   OleDbConnection(strConnFox);  
  OleDbConnection   connAcc   =   new   OleDbConnection(strConnAcc);  
  OleDbDataAdapter   adp1   =   new   OleDbDataAdapter("select   dm,xm,xmjx,xb,mz,jg,csrq,brcf,whcd,bysj,xz,xxmc,zy,hsgz,bh,zw,zc,zm,zzmm,bzgz,gwgz   from   rsda",connFox);  
  OleDbDataAdapter   adp2   =   new   OleDbDataAdapter("select   dm,xm,xmjx,xb,mz,jg,csrq,brcf,whcd,bysj,xz,xxmc,zy,hsgz,bh,zw,zc,zm,zzmm,bzgz,gwgz   from   rsda",connAcc);  
   
  OleDbCommandBuilder   cb   =   new   OleDbCommandBuilder(adp2);  
  //删除原有的rsda  
  OleDbCommand   cmdDelAll   =   new   OleDbCommand("delete   *   from   rsda   where   biaoji   is   null   or   biaoji=''",connAcc);  
  connAcc.Open();  
  cmdDelAll.ExecuteNonQuery();  
  cmdDelAll.Dispose();  
  DataSet   myset   =   new   DataSet();  
  adp1.Fill(myset,"rsdaFox");  
  adp2.Fill(myset,"rsdaAcc");  
   
  DataRow   row,row1;  
  foreach(DataRow   dr   in   myset.Tables["rsdaFox"].Rows)  
  {  
  row   =   myset.Tables["rsdaAcc"].NewRow();  
      foreach   (DataColumn   c   in   myset.Tables["rsdaFox"].Columns)  
      {  
            row[c.ColumnName]   =   dr[c.ColumnName];  
      }  
      myset.Tables["rsdaAcc"].Rows.Add(row);  
  }  
  adp2.Update(myset,"rsdaAcc");  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值