25-08-20, 01:43 PM
(آخر تعديل لهذه المشاركة : 25-08-20, 01:47 PM {2} بواسطة larbihamri.)
السلام عليكم كيف حال الجميع ؟
كيف يمكن عمل Transaction لأكثر من إجراء
مثلا :
و أقوم بإستدعاء هذا الإجراء في هذا البلوك
لكن عند التنفيذ يظهر الخطأ التالي :
كيف يمكن عمل Transaction لأكثر من إجراء
مثلا :
PHP كود :
Private Sub UpdateCréditClient()
CMDupdateClient.Parameters.Clear()
CMDupdateClient.CommandText = ("update tbl_client set crédit=@crédit where id_client=" & idClient)
CMDupdateClient.Connection = Sqlcon
CMDupdateClient.Transaction = trans
CMDupdateClient.Parameters.AddWithValue("@crédit", créditRest)
If Sqlcon.State = 0 Then Sqlcon.Open()
CMDupdateClient.ExecuteNonQuery()
End Sub
و أقوم بإستدعاء هذا الإجراء في هذا البلوك
PHP كود :
Dim STRquery As String
If Sqlcon.State = ConnectionState.Closed Then Sqlcon.Open()
trans = Sqlcon.BeginTransaction
CMDversement.Transaction = trans
CMDversement.Transaction = trans
STRquery = ("insert into tbl_versementClient (id_client,crédit_ancien,versement,crédit_Rest,date_versemnt)
values(@id_client,@crédit_ancien,@versement,@crédit_Rest,@date_versemnt)")
CMDversement.Parameters.Clear()
CMDversement.CommandText = STRquery
CMDversement.Connection = Sqlcon
CMDversement.Parameters.AddWithValue("@id_client", idClient)
CMDversement.Parameters.AddWithValue("@crédit_ancien", CDbl(txt_credit.Text))
CMDversement.Parameters.AddWithValue("@versement", CDbl(txt_versement.Text))
CMDversement.Parameters.AddWithValue("@crédit_Rest", créditRest)
CMDversement.Parameters.AddWithValue("@date_versemnt", Picker1.Value)
CMDversement.ExecuteNonQuery()
UpdateCréditClient()
trans.Commit()
لكن عند التنفيذ يظهر الخطأ التالي :
PHP كود :
ExecuteReader implies that the command has a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the order has not been initialized.