2 // Mono.Data.TdsClient.TdsTransaction.cs
5 // Tim Coleman (tim@timcoleman.com)
7 // Copyright (C) 2002 Tim Coleman
10 using Mono.Data.TdsClient.Internal;
12 using System.ComponentModel;
15 namespace Mono.Data.TdsClient {
16 public class TdsTransaction : Component, ICloneable, IDbTransaction
20 TdsConnection connection;
21 IsolationLevel isolationLevel;
28 internal TdsTransaction (TdsConnection connection, IsolationLevel isolevel)
30 this.connection = connection;
31 this.isolationLevel = isolevel;
33 connection.Tds.BeginTransaction ();
37 #endregion // Constructors
41 TdsConnection Connection {
42 get { return connection; }
45 IDbConnection IDbTransaction.Connection {
46 get { return Connection; }
49 IsolationLevel IDbTransaction.IsolationLevel {
50 get { return isolationLevel; }
57 #endregion // Properties
64 throw new InvalidOperationException ("This TdsTransaction has completed; it is no longer usable.");
65 connection.Tds.CommitTransaction ();
69 object ICloneable.Clone()
71 throw new NotImplementedException ();
74 public void Rollback ()
77 throw new InvalidOperationException ("This TdsTransaction has completed; it is no longer usable.");
78 connection.Tds.RollbackTransaction ();
82 public void Save (string savePointName)
85 throw new InvalidOperationException ("This TdsTransaction has completed; it is no longer usable.");
86 connection.Tds.SaveTransaction (savePointName);