there is only one
@@FETCH_STATUS
OPEN Buy_Record_Cursor; OPEN Sell_Record_Cursor; FETCH NEXT FROM Buy_Record_Cursor; FETCH NEXT FROM Sell_Record_Cursor; WHILE @@FETCH_STATUS = 0 BEGIN WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Sell_Record_Cursor; END; FETCH NEXT FROM Buy_Record_Cursor; END; CLOSE Sell_Record_Cursor; CLOSE Buy_Record_Cursor; DEALLOCATE Sell_Record_Cursor; DEALLOCATE Buy_Record_Cursor;
translating following c# code
foreach (OutstandingLots b in BuyRecord)
{
foreach (OutstandingLots s in SellRecord)
{
if (b.culsum > s.culsum && s.IsRead == false)
{
OutstandingLots temp = new OutstandingLots();
temp.TradeDate = b.TradeDate;
temp.SettleDate = b.SettleDate;
temp.TranID = b.TranID;
temp.NominalPrice = b.NominalPrice;
temp.TranPrice = b.TranPrice;
temp.AccruedInterest = b.AccruedInterest;
if (firstgreater == false)
{
temp.Quantity = b.culsum - s.culsum;
previous_quantity = b.Quantity;
cumsum = cumsum + temp.Quantity;
firstgreater = true;
}
else
{
temp.Quantity = b.Quantity;
cumsum = cumsum + temp.Quantity;
}
AlreadyReadTranNum = s.TranID;
temp.culsum = cumsum;
accounts.Add(temp);
}
else if (b.culsum == s.culsum)
{
previous_quantity = 0;
AlreadyReadTranNum = s.TranID;
}
else
{
previous_quantity = b.Quantity;
AlreadyReadTranNum = 0;
}
}
if (AlreadyReadTranNum != 0)
SellRecord = SetRead(SellRecord, AlreadyReadTranNum);
}
Session["outstandinglots"] = accounts;
}未敏俊