45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:将DataSet一次性保存到数据库中去的方法

将DataSet一次性保存到数据库中去的方法

2016-09-06 14:02:11 来源:www.45fan.com 【

将DataSet一次性保存到数据库中去的方法

try

{

SqlConnection Conn=this.CreateConnection();

try

{

//得到原始数据

SqlCommand cmd=new SqlCommand(Sql,Conn);

cmd.CommandTimeout=COMMANDTIMEOUT;

cmd.CommandType=CommandType.Text;

SqlDataAdapter da=new SqlDataAdapter(cmd);

SqlCommandBuilder cb=new SqlCommandBuilder(da);

DataSet dsNew=new DataSet();

da.Fill(dsNew,TableName);

foreach(DataRow drOld in Data.Tables[0].Rows)

{

if(drOld.RowState==DataRowState.Added)//增加记录

{

DataRow drNew=dsNew.Tables[0].NewRow();

foreach(DataColumn dcNew in dsNew.Tables[0].Columns)

{

if(!dcNew.ReadOnly)

{

string strField=dcNew.ColumnName;

drNew[strField]=drOld[strField];

}

}

dsNew.Tables[0].Rows.Add(drNew);

}

else if(drOld.RowState==DataRowState.Modified)//修改记录

{

string strKey=drOld[KeyFieldName,DataRowVersion.Original].ToString();

DataRow[] drs=dsNew.Tables[0].Select(KeyFieldName+"='"+strKey+"'");

if(drs.GetLength(0)>0)

{

DataRow drModify=drs[0];

foreach(DataColumn dcNew in dsNew.Tables[0].Columns)

{

if(!dcNew.ReadOnly)

{

string strField=dcNew.ColumnName;

drModify[strField]=drOld[strField];

}

}

}

}

else if(drOld.RowState==DataRowState.Deleted)//删除记录

{

string strKey=drOld[KeyFieldName,DataRowVersion.Original].ToString();

DataRow[] drs=dsNew.Tables[0].Select(KeyFieldName+"='"+strKey+"'");

if(drs.GetLength(0)>0)

{

for(int i=drs.GetLength(0)-1;i>=0;i--)

{

DataRow drDelete=drs[i];

drDelete.Delete();

}

}

}

}

da.Update(dsNew,TableName);

}

catch(Exception e)

{

throw(e);

}

finally

{

this.Dispose(Conn);

}

}

catch(Exception e)

{

throw(e);

}

 

本文地址:http://www.45fan.com/a/question/73211.html
Tags: DataSet 怎样 一次性
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部