/// <summary> /// 执行sql语句,返回影响行数 带事务 /// </summary> /// <param name="dbTranscaion">事务对象</param> /// <param name="sql">sql语句</param> /// <param name="parameters">参数</param> /// <returns>影响行数</returns> /// 时间:2015-11-24 9:31 /// 备注: public int ExecuteNonQuery(SqlServerTransaction dbTranscaion, string sql, DbParameter[] parameters) { int _affectedRows = -1; CheckedSqlParamter(sql); DbTransaction _sqlTranscation = dbTranscaion.TransactionObj; DbConnection _sqlConnection = _sqlTranscation.Connection; try { if (_sqlConnection.State != ConnectionState.Open) { _sqlConnection.Open(); } using (DbCommand sqlCmd = new SqlCommand(sql)) { sqlCmd.Connection = _sqlConnection; sqlCmd.Transaction = _sqlTranscation; if (parameters != null) { sqlCmd.Parameters.AddRange(parameters); } _affectedRows = sqlCmd.ExecuteNonQuery(); } } catch (SqlException ex) { throw CreateFrameworkException(sql, parameters, ex); } return(_affectedRows); }
public void ExecuteNonQueryTest1() { using (SqlServerTransaction tranObj = SqlHelper.BeginTranscation()) { try { string _sql = "insert into [Person](PName,PAge,PAddress) values(@pname,@page,@paddress)"; SqlHelper.ExecuteNonQuery(tranObj, _sql, new DbParameter[3] { new SqlParameter("@pname", "YanZhiwei"), new SqlParameter("@page", 18), new SqlParameter("@paddress", "zhuzhou") }); throw new System.Exception("test"); SqlHelper.ExecuteNonQuery(tranObj, _sql, new DbParameter[3] { new SqlParameter("@pname", "YanZhiwei2"), new SqlParameter("@page", 19), new SqlParameter("@paddress", "zhuzhou2") }); tranObj.CommitTransaction(); } catch (System.Exception ex) { tranObj.RollbackTransaction(); } } }
/// <summary> /// 保存角色权限设置 /// </summary> /// <param name="roleName">角色名称</param> /// <param name="roleCode">角色代码</param> /// <param name="modulePermissionId">模块操作标识ID数组</param> /// <returns> /// 保存是否成功 /// </returns> /// 时间:2016-04-29 10:25 /// 备注: public bool UpdateRole(string roleName, string roleCode, string[] modulePermissionId) { ValidateHelper.Begin().NotNullOrEmpty(roleName, "角色名称").NotNullOrEmpty(roleCode, "角色代码").NotNull(modulePermissionId, "角色对应模块操作标识ID数组"); bool _result = false; using (SqlServerTransaction sqlTran = sqlHelper.BeginTranscation()) { try { SqlParameter[] _paramter = new SqlParameter[1]; _paramter[0] = new SqlParameter("@roleCode", roleCode); sqlHelper.ExecuteNonQuery(sqlTran, "delete from RolePermissions where R_Code=@roleCode;", _paramter); _paramter = new SqlParameter[3]; _paramter[0] = new SqlParameter("@roleCode", roleCode); _paramter[1] = new SqlParameter("@roleName", roleName); _paramter[2] = new SqlParameter("@roleCodeWhere", roleCode); sqlHelper.ExecuteNonQuery(sqlTran, "update Roles set R_Code=@roleCode,R_Name=@roleName where R_Code=@roleCodeWhere", _paramter); foreach (string s in modulePermissionId) { if (!string.IsNullOrEmpty(s)) { _paramter = new SqlParameter[2]; _paramter[0] = new SqlParameter("@roleCode", roleCode); _paramter[1] = new SqlParameter("@mpId", s); sqlHelper.ExecuteNonQuery(sqlTran, "insert into dbo.RolePermissions values(@roleCode,@mpId)", _paramter); } } sqlTran.CommitTransaction(); _result = true; } catch (Exception) { sqlTran.RollbackTransaction(); _result = false; } return(_result); } }