一、C#代码
private void btnSave_Click(object sender, System.EventArgs e)
{
OracleConnection oraConn = null;
OracleTransaction oraTran = null;
//部门科室
int intDep;
intDep = System.Convert.ToInt32(ddlSectionOffice.SelectedValue.ToString());
//标记(综合指标,营业所指标)
int intGuideLineFlag;
intGuideLineFlag = System.Convert.ToInt32(ddlGuideLineCategory.SelectedValue.ToString());
try
{
oraConn = new OracleConnection();
oraConn.ConnectionString = DBAccess.DBUtil.GetConnectionString();
oraConn.Open();
oraTran = oraConn.BeginTransaction(); //打开连接
GuideLine.Business.SystemManage.Components.SystemManage objGuidelineDelete = new GuideLine.Business.SystemManage.Components.SystemManage();
objGuidelineDelete.GuidelineDelete(intDep,intGuideLineFlag,oraConn,oraTran); //先删除当前机构对应的线路数据
foreach(C1GridItem grdItem in gridEditShow.Items)
{
CheckBox chkChange = (CheckBox)grdItem.FindControl("chkChange");
if(chkChange != null)
{
if(chkChange.Checked == true)//如果选中指标
{
int intDepartID;
intDepartID = System.Convert.ToInt32(ddlSectionOffice.SelectedValue);//部门科室ID
int intGuideLineID;
intGuideLineID = System.Convert.ToInt32( grdItem.Cells[3].Text.ToString());
GuideLine.Business.SystemManage.Components.SystemManage objGuidelineAssignAdd = new GuideLine.Business.SystemManage.Components.SystemManage();
try
{
objGuidelineAssignAdd.GuidelineAssignAdd(intDepartID,intGuideLineID,intGuideLineFlag,oraConn,oraTran);
//调用存储过程
}
catch(System.Exception err)
{
ShowErrorInfo(err.Message.ToString());
}
objGuidelineAssignAdd = null;
}
}
}
oraTran.Commit(); //提交事务
ShowErrorInfo("您设置成功!");
GetguidelinieCount();
}
catch(System.Exception err)
{
oraTran.Rollback(); //事务回滚
ShowErrorInfo(err.Message.ToString());
}
if(oraConn != null)
{
oraConn.Close(); //关闭连接
oraConn = null;
}
oraTran = null;
}
二、存储过程
public void GuidelineDelete(int intDepartID,int intGuideLineFlag, OracleConnection oraConn,OracleTransaction oraTran)
{
//OracleConnection oraConn;
OracleCommand oraCmd;
OracleParameter oraParm;
oraCmd = new OracleCommand ();
oraCmd.CommandType = CommandType.StoredProcedure ;
oraCmd.CommandText = "PKG_SystemManage.up_GuidelineDelete";
oraCmd.Connection = oraConn;
oraCmd.Transaction = oraTran;
//科室ID
oraParm = new OracleParameter();
oraParm.Direction = ParameterDirection.Input ;
oraParm.ParameterName = "DepartID";
oraParm.OracleType = OracleType.Number ;
oraParm.Value =intDepartID;
oraCmd.Parameters.Add(oraParm);
oraParm = null;
//标记
oraParm = new OracleParameter();
oraParm.Direction = ParameterDirection.Input ;
oraParm.ParameterName = "GuideLineFlag";
oraParm.OracleType = OracleType.Number ;
oraParm.Value =intGuideLineFlag;
oraCmd.Parameters.Add(oraParm);
oraParm = null;
oraCmd.ExecuteNonQuery();
oraCmd.Connection = null;
oraCmd = null;
}