数据访问的一个小应用( db.LoadDataSet / db.UpdateDataSet)
2010-12-30 18:30
162 查看
dataset 更新数据库
删除 实例:
综合实例:(部分源码)
删除 实例:
public bool UpdateRuleRight(int ruleId, int[] delRightId) { bool isSuc = false; DataBase db = DataBaseFactory.CreateDataBase(DBConnectionString.DB_ADMIN); DataSet dsRuleRight = new DataSet(); try { DbCommand command = db.GetStoredProcCommand("spa_sys_get_rule_right"); string tbName = "rule_right"; db.LoadDataSet(command, dsRuleRight, tbName); DataTable dtUserRight = dsRuleRight.Tables[tbName]; foreach (int intId in delRightId) { if (intId != 0) { dtUserRight.Select(string.Format("rule_id='{0}' and right_id='{1}'", ruleId, intId))[0].Delete(); } } DbCommand deleteCommand = db.GetStoredProcCommand("spa_sys_delete_rule_right"); db.AddInParameter(deleteCommand, "rule_id", DbType.Int32, "rule_id", DataRowVersion.Current); db.AddInParameter(deleteCommand, "right_id", DbType.Int32, "right_id", DataRowVersion.Current); int rowsAffected = db.UpdateDataSet(dsRuleRight, tbName, null, null, deleteCommand, UpdateBehavior.Standard); if (rowsAffected > 0) { isSuc = true; } } catch (Exception ex) { LogUtility.Add(ex); isSuc = false; } return isSuc; }
综合实例:(部分源码)
public bool UpdateUserRight(int userId,int[] addRightId, int[] delRightId) { bool isSuc = false; DataBase db = DataBaseFactory.CreateDataBase(DBConnectionString.DB_ADMIN); DataSet dsUserRight = new DataSet(); try { DbCommand command = db.GetStoredProcCommand("spa_sys_get_user_right"); string tbName = "user_right"; db.LoadDataSet(command, dsUserRight, tbName); DataTable dtUserRight = dsUserRight.Tables[tbName]; foreach (int intId in addRightId) { if (intId != 0) { dtUserRight.Rows.Add(new object[] { userId, intId }); } } foreach (int intId in delRightId) { if (intId != 0) { dtUserRight.Select(string.Format("user_id='{0}' and right_id='{1}'", userId, intId))[0].Delete(); } } //dtUserRule.AcceptChanges(); //加后报错 注意 DbCommand insertCommand = db.GetStoredProcCommand("spa_sys_add_user_right"); db.AddInParameter(insertCommand, "user_id", DbType.Int32, "user_id", DataRowVersion.Current); db.AddInParameter(insertCommand, "right_id", DbType.Int32, "right_id", DataRowVersion.Current); DbCommand deleteCommand = db.GetStoredProcCommand("spa_sys_delete_user_right"); db.AddInParameter(deleteCommand, "user_id", DbType.Int32, "user_id", DataRowVersion.Current); db.AddInParameter(deleteCommand, "right_id", DbType.Int32, "right_id", DataRowVersion.Current); int rowsAffected = db.UpdateDataSet(dsUserRight, tbName, insertCommand, null, deleteCommand, UpdateBehavior.Standard); if (rowsAffected > 0) { isSuc = true; } } catch (Exception ex) { LogUtility.Add(ex); isSuc = false; } return isSuc; }
相关文章推荐
- 企业库之数据访问的一个小应用
- 一个大数据量表访问优化--联动下拉框查询优化
- 设计、实现一个 Asp.Net 应用的通用数据存取层(二)
- 第十五章 数据访问部件的应用及编程(一)
- oracle授权另外一个用户访问自己创建的数据对象
- 写一个通用数据访问组件
- 一个web应用的诞生(5)--数据表单
- 演示一个VPD进行数据访问控制的示例
- 一个开始----大数据思维模式在物联网系统运维应用的一个案例
- 代码清单7-4是一个比较完整的数据访问组件,下面分析这些代码的具体实现。
- hadoop学习之-应用ODCH工具实现oralce外部表访问HDFS数据文件
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加检索操作(Retrieve)
- 第十五章 数据访问部件的应用及编程(一)
- Oracle一个用户如何访问其它用户的表应用指南
- 使用ContentProvider访问其他应用的SharedPreferences数据
- java入门笔记一:浅谈反射(reflect)&泛型(genericity)在通用数据访问库中的应用
- 用固定数据创建一个Opencv矩阵并访问其数据元素
- oracle授权另外一个用户访问自己创建的数据对象
- 一个类的友元类能访问类的私有数据
- [Android]如何做一个崩溃率少于千分之三噶应用app(21)-组件化数据分享