您的位置:首页 > 其它

数据访问的一个小应用( 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: