1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
commandexe.CommandText = "Select EUOBTRNS_FLOW_ID,EUOBTRNS_NBR from TransactionInQuery where QueryNumber=@QueryNB";
SqlDataReader readerTrans = (SqlDataReader)commandexe.ExecuteReader();
SqlDataReader reader;
while (readerTrans.Read())
{
//Create Dbcommand dedicate to the while loop
DbCommand cmdReader = this.CreateCommandTrans();
DbCommand cmdDelete = this.CreateCommandTrans();
cmdReader.Transaction = this.TransSQL;
cmdDelete.Transaction = this.TransSQL;
this.AddNewParameter(cmdReader, "TransID", readerTrans["EUOBTRNS_FLOW_ID"]);
this.AddNewParameter(cmdReader, "TransNumber", readerTrans["EUOBTRNS_NBR"]);
this.AddNewParameter(cmdDelete, "TransID", readerTrans["EUOBTRNS_FLOW_ID"]);
this.AddNewParameter(cmdDelete, "TransNumber", readerTrans["EUOBTRNS_NBR"]);
//Check if the transaction is used by another query
cmdReader.CommandText = "Select count(*) AS TransCompte from TransactionInQuery where QueryNumber=@QueryNB and EUOBTRNS_FLOW_ID=@TransID and EUOBTRNS_NBR=@TransNumber";
reader = (SqlDataReader)cmdReader.ExecuteReader();
if (reader.Read())
{
int Transcount = reader.GetInt16(0);
if (Transcount > 1)
{
//The transaction is used by another query and then delete only the reference in TransactionInQuery
cmdDelete.CommandText = "Delete From TransactionInQuery where EUOBTRNS_FLOW_ID=@TransID and EUOBTRNS_NBR=@TransNumber and QueryNumber=@QueryNumber;";
cmdDelete.ExecuteNonQuery();
}
else
{
//else delete all the references of the transaction
cmdDelete.CommandText = "Delete From EUOB04TTRANSSTEPLO where EUOBTRNS_FLOW_ID=@TransID and EUOBTRNS_NBR=@TransNumber;";
cmdDelete.ExecuteNonQuery();
cmdDelete.CommandText = "Delete From TransactionInQuery where EUOBTRNS_FLOW_ID=@TransID and EUOBTRNS_NBR=@TransNumber and QueryNumber=@QueryNumber;";
cmdDelete.ExecuteNonQuery();
cmdDelete.CommandText = "Delete From EUOB03TTRANS where EUOBTRNS_FLOW_ID=@TransID and EUOBTRNS_NBR=@TransNumber;";
cmdDelete.ExecuteNonQuery();
}
} |
Partager