DataSet与XML导入导出方法
2006-09-12 11:43
501 查看
忙活半天弄好了,又告诉我要以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;
}
}
/// <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;
}
}
相关文章推荐
- DataSet与XML导入导出方法
- XML文件导入、导出到 DataSet
- XML文件导入、导出到 DataSet
- DataSet、Excel、XML之间的导入导出
- XML文件导入、导出到 DataSet
- XML文件导入到DATASET并且增加数据后导出为XML
- XML文件导入、导出到 DataSet
- XML文件导入、导出到 DataSet
- dataset导入导出xml
- [导入]用DataSet.ReadXml读取无Scheme的XML提速方法
- XML文件导入、导出到 DataSet
- ASP.NET环境下XML导出导入数据方法
- 从服务器将ORACLE数据库导出和导入本地oracle数据库中的方法
- python批量导出导入MySQL用户的方法
- 【oracle】使用EXPDP和IMPDP数据泵进行导出导入的方法
- csv数据导入导出mysql的方法
- sql server数据库跨版本导入导出数据库的方法
- ApplicationContext.xml导入约束的一种方法
- 使用Transact-SQL进行数据导入导出方法详解[转]
- 用DataSet的WriteXml方法把DataSet写入内存流时,缺少XML文档的声明行