2023年6月21日发(作者:)
c#同时更新主表和明细表,如果保证两个表的数据同时更新成功主表存储过程usp_sys_cw_addpayALTER PROCEDURE [dbo].[usp_sys_cw_addpay]( @appname VARCHAR(50)='', @apptotal DECIMAL)ASBEGINSET NOCOUNT ON; -- routine body goes here, e.g. -- SELECT 'Navicat for SQL Server' DECLARE @docentry INT insert into CW_pay(appname,apptotal,appdate,status,remark,ckname)
values(@appname,@apptotal,GETDATE(),-1,'','')
select @docentry=@@identity
RETURN @docentryEND 字表存储过程usp_sys_cw_addpay_dt1ALTER PROCEDURE [dbo].[usp_sys_cw_addpay_dt1](@docentry INT,@docnum INT,@cardcode VARCHAR(50)='',@cardname VARCHAR(200)='',@pymntgroup VARCHAR(200)='',@docduedate VARCHAR(50)='',@doctotal DECIMAL,@paidtodate DECIMAL,@apppay DECIMAL,@u_name VARCHAR(50)='')ASBEGINSET NOCOUNT ON; insert into CW_paydt1(docentry,docnum,cardcode,cardname,pymntgroup,docduedate,doctotal,paidtodate,apppay,u_name)
values(@docentry,@docnum,@cardcode,@cardname,@pymntgroup,@docduedate,@doctotal,@paidtodate,@apppay,@u_name)END 写⼊数据库,当主表和⼦表都更新成功后才更新到数据库,如果失败或者异常则回滚 1 private void apppay_Click(object sender, EventArgs e) 2 { 3 SqlConnection connection = new SqlConnection(); 4 SqlCommand command = Command(); 5 //事务处理,保证数据完整性 6 SqlTransaction transaction; 7 (); 8 transaction = ransaction(); 9 ction = transaction;10 dType = Procedure;11
12 try13 {14 //写⼊主表15 dText = "usp_sys_cw_addpay";16 SqlParameter[] parms = new SqlParameter[] {
17 new SqlParameter("@appname",r),18 new SqlParameter("@apptotal",l),19 new SqlParameter("@return",)
20 };21 parms[0].Value = me;22 parms[1].Value = mal(e("Sum(apppay)", "true").ToString().Trim());23 parms[2].Direction = Value;24 ge(parms);25 eNonQuery();26
27 string docentry = parms[2].ng().Trim();28 (ng());29 //写⼊⼦表30 for (int i = 0; i < ; i++)31 {32 dText = "usp_sys_cw_addpay_dt1";33 ();34 parms = new SqlParameter[] {
35 new SqlParameter("@docentry",(docentry)),36 new SqlParameter("@docnum",([i]["docnum"].ToString().Trim())),37 new SqlParameter("@cardcode",[i]["cardcode"].ToString().Trim()),38 new SqlParameter("@cardname",[i]["cardname"].ToString().Trim()),39 new SqlParameter("@pymntgroup",[i]["pymntgroup"].ToString().Trim()),40 new SqlParameter("@docduedate",[i]["docduedate"].ToString().Trim()),41 new SqlParameter("@doctotal",([i]["doctotal"].ToString().Trim())),42 new SqlParameter("@paidtodate",([i]["paidtodate"].ToString().Trim())),43 new SqlParameter("@apppay",([i]["apppay"].ToString().Trim())),44 new SqlParameter("@u_name",[i]["u_name"].ToString().Trim())};45 ge(parms);46 eNonQuery();47 }48 ();49 }50 catch (Exception ex)51 {52 ck();53 throw;54 }55 finally56 {57 ();58 e();59 e();60 }61 }
2023年6月21日发(作者:)
c#同时更新主表和明细表,如果保证两个表的数据同时更新成功主表存储过程usp_sys_cw_addpayALTER PROCEDURE [dbo].[usp_sys_cw_addpay]( @appname VARCHAR(50)='', @apptotal DECIMAL)ASBEGINSET NOCOUNT ON; -- routine body goes here, e.g. -- SELECT 'Navicat for SQL Server' DECLARE @docentry INT insert into CW_pay(appname,apptotal,appdate,status,remark,ckname)
values(@appname,@apptotal,GETDATE(),-1,'','')
select @docentry=@@identity
RETURN @docentryEND 字表存储过程usp_sys_cw_addpay_dt1ALTER PROCEDURE [dbo].[usp_sys_cw_addpay_dt1](@docentry INT,@docnum INT,@cardcode VARCHAR(50)='',@cardname VARCHAR(200)='',@pymntgroup VARCHAR(200)='',@docduedate VARCHAR(50)='',@doctotal DECIMAL,@paidtodate DECIMAL,@apppay DECIMAL,@u_name VARCHAR(50)='')ASBEGINSET NOCOUNT ON; insert into CW_paydt1(docentry,docnum,cardcode,cardname,pymntgroup,docduedate,doctotal,paidtodate,apppay,u_name)
values(@docentry,@docnum,@cardcode,@cardname,@pymntgroup,@docduedate,@doctotal,@paidtodate,@apppay,@u_name)END 写⼊数据库,当主表和⼦表都更新成功后才更新到数据库,如果失败或者异常则回滚 1 private void apppay_Click(object sender, EventArgs e) 2 { 3 SqlConnection connection = new SqlConnection(); 4 SqlCommand command = Command(); 5 //事务处理,保证数据完整性 6 SqlTransaction transaction; 7 (); 8 transaction = ransaction(); 9 ction = transaction;10 dType = Procedure;11
12 try13 {14 //写⼊主表15 dText = "usp_sys_cw_addpay";16 SqlParameter[] parms = new SqlParameter[] {
17 new SqlParameter("@appname",r),18 new SqlParameter("@apptotal",l),19 new SqlParameter("@return",)
20 };21 parms[0].Value = me;22 parms[1].Value = mal(e("Sum(apppay)", "true").ToString().Trim());23 parms[2].Direction = Value;24 ge(parms);25 eNonQuery();26
27 string docentry = parms[2].ng().Trim();28 (ng());29 //写⼊⼦表30 for (int i = 0; i < ; i++)31 {32 dText = "usp_sys_cw_addpay_dt1";33 ();34 parms = new SqlParameter[] {
35 new SqlParameter("@docentry",(docentry)),36 new SqlParameter("@docnum",([i]["docnum"].ToString().Trim())),37 new SqlParameter("@cardcode",[i]["cardcode"].ToString().Trim()),38 new SqlParameter("@cardname",[i]["cardname"].ToString().Trim()),39 new SqlParameter("@pymntgroup",[i]["pymntgroup"].ToString().Trim()),40 new SqlParameter("@docduedate",[i]["docduedate"].ToString().Trim()),41 new SqlParameter("@doctotal",([i]["doctotal"].ToString().Trim())),42 new SqlParameter("@paidtodate",([i]["paidtodate"].ToString().Trim())),43 new SqlParameter("@apppay",([i]["apppay"].ToString().Trim())),44 new SqlParameter("@u_name",[i]["u_name"].ToString().Trim())};45 ge(parms);46 eNonQuery();47 }48 ();49 }50 catch (Exception ex)51 {52 ck();53 throw;54 }55 finally56 {57 ();58 e();59 e();60 }61 }
发布评论