public SybaseTransaction BeginTransaction(IsolationLevel iso, string transactionName) { if (State == ConnectionState.Closed) { throw new InvalidOperationException("The connection is not open."); } if (Transaction != null) { throw new InvalidOperationException("SybaseConnection does not support parallel transactions."); } string isolevel = String.Empty; switch (iso) { case IsolationLevel.Chaos: isolevel = "CHAOS"; break; case IsolationLevel.ReadCommitted: isolevel = "READ COMMITTED"; break; case IsolationLevel.ReadUncommitted: isolevel = "READ UNCOMMITTED"; break; case IsolationLevel.RepeatableRead: isolevel = "REPEATABLE READ"; break; case IsolationLevel.Serializable: isolevel = "SERIALIZABLE"; break; } tds.Execute(String.Format("SET TRANSACTION ISOLATION LEVEL {0}\nBEGIN TRANSACTION {1}", isolevel, transactionName)); transaction = new SybaseTransaction(this, iso); return(transaction); }