|
发表于 2022-10-12 22:12:03
|
显示全部楼层
如果怕有异常的话,可以考虑使用事务来处理。
- If MessageBox.Show("确定要删除当前行吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
- Dim tblmain As SmGrid=Proj.CurrentClickedGridMenu.BaseGrid.BaseBaseGrid
- Dim djbh As String
- Dim dr As RowData=tblmain.CurrentRowData
- If dr IsNot Nothing Then
- djbh=tblmain.CurrentRowData("单据编号")
- Dim db As Database=Proj.SysDataFactory("tzxjbgxt")
- Try
- '开启事务
- db.BeginTrans()
- '先删除子表,注意第二个参数使用统一的事务
- db.ExecuteNonQuery("delete from szg零工工时明细表 where 单据编号='" & djbh & "'",False)
- '再删除主表
- tblmain.DataTableHelp.DeleteFor("单据编号='" & djbh & "'")
- '保存的参数表示使用统一的事务
- tblmain.Save(False)
- '提交事务
- db.CommitTrans()
- Catch ex As Exception
- '回滚事务
- db.RollbackTrans()
- '提示错误信息
- UnhandledExceptionManager.ShowAndSaveLog(ex)
- End Try
- Else
- msgbox("请先选择某一行")
- End If
- End If
复制代码 |
|