Ejemplo n.º 1
0
 private void Close()
 {
     //aResultsを破棄する
     if (_aResults != null)
     {
         _aResults.Dispose();
         _aResults = null;
     }
     //トランザクションを終了する(Dispose()のみ行う)
     if (_aDbTransaction != null)
     {
         _aDbTransaction.Dispose();
         //DbTransactionを解放する
         _h_DbTransaction.Free();
         _aDbTransaction = null;
     }
     //DBから切断する
     if (_aDbConnection != null)
     {
         _aDbConnection.Close();
         _aDbConnection.Dispose();
         //DbConnectionを解放する
         _h_DbConnection.Free();
         _aDbConnection = null;
     }
 }
Ejemplo n.º 2
0
 protected override void DisposeImp(bool disposing)
 {
     try {
         if (_aResults != null)
         {
             _aResults.Dispose();
             _aResults = null;
         }
     } catch (Exception ex) {
         //GCによる回収時には例外を送出しない
         if (disposing)
         {
             _aTran.Rollback();
             throw new DbAccessException("Resultsオブジェクトの破棄に失敗しました", ex);
         }
     }
 }