(火炬)MS SQL Server数据库案例教程(五)
md.transaction=trans;
Try{
//指定命令文本
Cmd.commandText=”delete from 我的类别 where 类别编号=@ID”;
cmd.parameters.addwithvalue(“@ID”,categryID);
cmd.ExecuteNonQuery();
cmd.commandText=”select count(*) from 我的产品 where 类别编号=@ID”;
//如果属于该类别的产品数量大于3则回滚
If(convert.ToInt32(cmd.ExecuteScalar())>3)
{
Trans.Rollback();
}
Else{ //继续删除产品
//指定命令文本
cmd.commandText=”delete from 我的产品 where 类别编号=@ID”;
cmd.ExecuteNonQuery();
trans.commit();//提交事物
}
}
Catch(sqlexeption ex){
Trans.rollback();//回滚事务
Throw ex;
}
Catch(exeption ex){
Trans.rollback();//回滚事务
Throw ex;
}
25./*-----------存储过程传参 方法的调用 及分页-------------*/
Public datatable prosalesman(int pageindex,int pagesize, out int rowcount)
{
Datatable dt=new Datatable();
Rowcount=0;
Sqlparameter[] parames=new Sqlparameter[3];
Parames[0]=new sqlparameter(“@ pageindex”, pageindex);
Parames[1]=new sqlparameter(“@ pagesize”, pagesize);
Parames[2]=new sqlparameter(“@ rowcount”, rowcount);
Parames[2].Direction=parameterDirection.output;
dt=sqlhelper.ExecuteDataTable(“mypage”,commandType.storedprocedure,parames);
Rowcount=convert.ToInt32(parames[2].value);
Return dt;
}