一个存储过程

 
   
CREATE PROCEDURE ProductOrderSplit 

@SELL_IDSN int,

@SplitNumber int



AS



begin tran



declare @SELL_ID varchar(100)

declare @OrderNoteSN int









select  @SELL_ID=SELL_ID,@OrderNoteSN=OrderNoteSN

        from C_SENDPRODUCTDETAIL

       where SELL_IDSN=@SELL_IDSN



if(@@error<>0)goto errhandle  



begin 



insert into C_SENDPRODUCTDETAIL

                      (SELL_ID,OrderNoteSN                   

                      )

                      values

                      (@SELL_ID,@OrderNoteSN                

                      )

update C_SENDPRODUCTDETAIL set CUS_ENSURENUM=CUS_ENSURENUM-@SplitNumber where SELL_IDSN=@SELL_IDSN

commit tran

end

if(@@error<>0)goto errhandle  



errhandle:

begin

  if (@@error<>0)

   rollback tran

end

GO

C# code

public int SplitProduct(int SELL_IDSN, int SplitNumber)

        {

            SqlConnection sqlConn = HunryCommon.DataAccess.GetConnection();

            sqlConn.Open();

            SqlTransaction sqlTrans = sqlConn.BeginTransaction();

            try

            {

                SqlParameter [] commandParameters = new SqlParameter[2];

                commandParameters[0] = new SqlParameter("@SELL_IDSN",SqlDbType.Int);

                commandParameters[0].Value = SELL_IDSN;

                commandParameters[1] = new SqlParameter("@SplitNumber",SqlDbType.Int);

                commandParameters[1].Value = SplitNumber;

                HunryCommon.DataAccess.ExecuteScalar(sqlTrans,CommandType.StoredProcedure,"ProductOrderSplit",commandParameters);

                sqlTrans.Commit();

                sqlConn.Close();

                return 1;

            }

            catch(SqlException ex)

            {

                string ss=ex.ToString();

                sqlTrans.Rollback();

                sqlConn.Close();

                return 0;//有异常 

            }

        }

你可能感兴趣的:(存储过程)