DataSet与XML导入导出方法

忙活半天弄好了,又告诉我要以Excel形式导入导出。这点代码删了可惜,索性保存到这里。

  /// <summary>
  /// 导出考生信息到XML文件
  /// </summary>
  /// <param name="toPath"></param>
  private void ExportToXml(string toPath)
  {
   this.ds.WriteXml(toPath,XmlWriteMode.WriteSchema);
  }


  /// <summary>
  /// 导入考生信息
  /// </summary>
  /// <param name="fromPath">导入的XML文件</param>
  private void ImportFromXml(string fromPath)
  {
   using(FileStream fsReadXml=new FileStream(fromPath,FileMode.Open))
   {
    XmlTextReader myXmlReader=new XmlTextReader(fsReadXml);
    ds_xml.ReadXml(myXmlReader);
    myXmlReader.Close();
    int pbValue=1;
    int count=ds_xml.Tables[0].Rows.Count;
    //写入数据库
    foreach(DataRow dr in ds_xml.Tables[0].Rows)
    {
     try
     {
      this.pbProgress.Value=0;
      this.panProgress.Visible=true;
      this.lblMsg.Text="正在导入..."+dr["xjh"].ToString().Trim();
      DB db=new DB();
      SqlParameter[] paras={
              new SqlParameter("@xjh",dr["xjh"].ToString().Trim()),
              new SqlParameter("@xxdm",dr["xxdm"].ToString().Trim()),
              new SqlParameter("@xm",dr["xm"].ToString().Trim()),
              new SqlParameter("@xb",dr["xb"].ToString().Trim()),
              new SqlParameter("@bh",dr["bh"].ToString().Trim()),
              new SqlParameter("@zp",dr["zp"]),
             };
      
      if(ds.Tables["xs_ksxx"].Select("xjh='"+dr["xjh"]+"'").Length==0)
      {
       string strInsertJBXX="insert into xs_jbxx(xjh,xxdm,xm,xb,bh,zp) values(@xjh,@xxdm,@xm,@xb,@bh,@zp)";
          db.ExecCommand(strInsertJBXX,paras); 
      }
      else if(ds.Tables["xs_ksxx"].Select("xjh='"+dr["xjh"]+"'").Length==1)
      {
       string strUpdateJBXX="update xs_jbxx set xxdm=@xxdm,xm=@xm,xb=@xb,bh=@bh,zp=@zp where xjh=@xjh";
       db.ExecCommand(strUpdateJBXX,paras);
      }
      System.Threading.Thread.Sleep(10);
      this.pbProgress.Value=100;
      this.pbProgressAll.Value=(int)((pbValue/count)*100);
      Application.DoEvents();
      pbValue++;
      ds.Clear();
      DataBind(rowfilter);
     }
     catch(Exception ex)
     {
      this.panProgress.Visible=false;
      MessageBox.Show(ex.ToString());
     }
    }
    this.panProgress.Visible=false;
   }
  }
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值