Hi guys,
I have a problem, my app inserted data into 2 tables, but when committed, data only inserted in 1 table.
Here are my codes
App runs without an error, but data only inserted in table t_in_ot1, while on table t_in_ot2, no data inserted.
Where am I missing?
Note : B4J 6.01, java 1.8_092 64 bit.
I have a problem, my app inserted data into 2 tables, but when committed, data only inserted in 1 table.
Here are my codes
B4X:
Sub InsSls(IdTrs As Int,IdInOtSP As Int,IdCnt As Int,Dt As String,FrmN As String,IdGd As Int,IdGift As Int,Prc As Int,IdDsc As Int,Qty As Int,Dscp As String,InpBy As String) As Boolean
Private Rsl As Boolean
Private InsQry As SQL
Private IdInOt1,IdInOt2 As Int
Private Brt,Nt,Dsc As Double
Private SPV As String
InsQry = dbpool.GetConnection
InsQry.BeginTransaction
Try
IdInOt1 = GetId1(IdCnt,Dt,IdTrs)
SPV = GetSpv(IdCnt)
If IdInOt1 = 0 Then
IdInOt1 = GetId
InsQry.ExecNonQuery2("insert into t_in_ot1 (id,id_trs_typ,id_cst_sppl,trs_dt,dscp,inp_by,lck_by,spv) values(?,?,?,?,?,?,?,?)", _
Array As Object(IdInOt1,IdTrs,IdCnt,Dt,"Sales From Android",InpBy,InpBy,SPV))
End If
IdInOt2 = GetId
Brt = Qty*Prc
If IdDsc = 0 Then
Dsc = 0
Nt = Brt
Else
Dsc = GetDsc(IdDsc)
Nt = Brt*(100-Dsc)/100
End If
If IdGift = 0 Then
InsQry.ExecNonQuery2("insert into t_in_ot2(id,id_in_ot1,lnk_id,frm_n,id_gd,prc,prc_dsc1,qty,brt,nt,unt,dscp) values(?,?,?,?,?,?,?,?,?,?,?,?)", _
Array As Object(IdInOt2,IdInOt1,IdInOtSP,FrmN,IdGd,Prc,Dsc,Qty,Brt,Nt,"PSG",Dscp))
Else
InsQry.ExecNonQuery2("insert into t_in_ot2(id,id_in_ot1,lnk_id,frm_n,id_gd,id_gift,prc,prc_dsc1,qty,brt,nt,unt,dscp) values(?,?,?,?,?,?,?,?,?,?,?,?,?)", _
Array As Object(IdInOt2,IdInOt1,IdInOtSP,FrmN,IdGd,IdGift,Prc,Dsc,Qty,Brt,Nt,"PSG",Dscp))
End If
InsQry.TransactionSuccessful
Rsl = True
Catch
Log(LastException)
Rsl = False
End Try
InsQry.Close
Return Rsl
End Sub
App runs without an error, but data only inserted in table t_in_ot1, while on table t_in_ot2, no data inserted.
Where am I missing?
Note : B4J 6.01, java 1.8_092 64 bit.