2 // System.Data.OleDb.OleDbTransaction
5 // Rodrigo Moya (rodrigo@ximian.com)
7 // Copyright (C) Rodrigo Moya, 2002
11 using System.Data.Common;
12 using System.Exception;
14 namespace System.Data.OleDb
16 public sealed class OleDbTransaction : MarshalByRefObject,
17 IDbTransaction, IDisposable
19 private OleDbConnection m_connection = null;
20 private IsolationLevel m_level = IsolationLevel.ReadCommitted;
26 protected OleDbTransaction (OleDbConnection cnc)
29 libgda.gda_connection_begin_transaction (m_connection.GdaConnection,
33 protected OleDbTransaction (OleDbConnection cnc,
34 IsolationLevel level) : this (cnc)
43 IDbConnection IDbTransaction.Connection
50 IsolationLevel IDbTransaction.IsolationLevel
61 public OleDbTransaction Begin ()
63 return new OleDbTransaction (m_connection);
66 public OleDbTransaction Begin (IsolationLevel level)
68 return new OleDbTransaction (m_connection, level);
71 void IDbTransaction.Commit ()
73 if (!libgda.gda_connection_commit_transaction (
74 m_connection.GdaConnection,
76 throw new InvalidOperationException ();
79 void IDbTransaction.Rollback ()
81 if (!libgda.gda_connection_rollback_transaction (
82 m_connection.GdaConnection,
84 throw new InvalidOperationException ();
88 void IDisposable.Dispose ()
90 throw new NotImplementedException ();