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

  }


posted on 2006-10-28 10:12  散步的蠕虫  阅读(562)  评论(0编辑  收藏  举报

导航