pb中在数据窗口中删除主表数据时同步删除从表数据,如何判断sql语句在数据库端是否正确执行了
解决方法:在执行的sql语句后面增加数据库执行判断语句,如下
1 // 点击保存时遍历主表删除缓存中的总行数,得到每条记录的消息id 2 for ll_row = 1 to dw_1.DeletedCount() 3 ll_mes_id= dw_1.GetItemNumber(ll_row, "mes_id", Delete!, true) 4 // 执行sql语句,删除从表中对应记录 5 delete from mes_details where mes_id = :ll_mes_id; 6 // 判断sql语句在数据库是否正确执行(第一个if是sql执行出错;第二个是执行了但0行受影响) 7 if SQLCA.SQLCODE <> 0 Then 8 ls_error = sqlca.SQLErrText 9 Rollback; 10 MessageBox("提示","数据删除出现错误1"+ ls_error,StopSign!) 11 return -1 12 End IF 13 IF SQLCA.SQLNROWS = 0 Then 14 ls_error = sqlca.SQLErrText 15 Rollback; 16 MessageBox("提示","数据删除出现错误2"+ ls_error,StopSign!) 17 return -1 18 End IF 19 end for