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;
   }
  }
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章