岁月总是愈来愈短 日子也总是愈来愈快 珍惜
通用 把DataSet保存到数据库对应的Table表
前段时间吧xml转化为dataset,现在需要把dataset保存到数据库了
1,创建一个table表 注意:字段和dataset里面的字段对应 否则就不能通用了
2,方法
////// 把DATASET保存到数据库中 /// 2011-09-15 艾宗兵 /// SysManager mManger 调用SQL对象 /// TableName 要把DataSet保存到表名称 /// XmlObjectName 节点名称 /// public static void SaveDataSetToDB(SysManager mManger,DataSet mRs,string TableName,string XmlObjectName) { //获取架构 mManger.Connection.Fill("SELECT * FROM "+TableName+" WHERE 1=2",ref mRs,TableName); //检查是否有数据 if(!mRs.Tables.Contains(TableName)) { return ; } string strInsertPart=GetInsertSQL(mRs,TableName); //此时的TableName应该为XML里面对象节点的名称 try { foreach(DataRow dr in mRs.Tables[XmlObjectName].Rows) { string strValuePart=String.Empty; int tableColumnCount = mRs.Tables[XmlObjectName].Columns.Count; int startCount = 0; foreach(DataColumn mCol in mRs.Tables[XmlObjectName].Columns) { if(mRs.Tables[XmlObjectName].Columns.Contains(mCol.ColumnName)) { if(startCount!=0) { strValuePart+=","; } strValuePart+=("'"+dr[mCol.ColumnName].ToString()+"'"); startCount++; } } string strSQL=strInsertPart+"VALUES("+strValuePart+")"; mManger.Connection.ExecuteCommand(strSQL); } } catch { //TODO } } ////// 给DATASET生存插入的SQL语句 /// private static string GetInsertSQL(DataSet mRs,string tblName) { int tableColumnCount = mRs.Tables[tblName].Columns.Count; int startCount = 0; string strINSERT="INSERT INTO "+tblName+"("; foreach(DataColumn mCol in mRs.Tables[tblName].Columns) { if(mRs.Tables[tblName].Columns.Contains(mCol.ColumnName)) { if(startCount!=0) { strINSERT+=","; } strINSERT+=mCol.ColumnName; startCount++; } } strINSERT+=")"; return strINSERT; } //调用示例 string cid = sdr["cid"].ToString(); mSRs = mItems.GetTaobaoCategories(cid,ref mListBack); Constants.SaveDataSetToDB(CurrentPortal.SysManager,mSRs,"Taobao_Categories","item_cat");
| 打印文章 | 这篇文章由Aiice于2011年09月16日 2:55 上午发表在ASP.NET。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。 |
