Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@mono-cvs.ximian.com>2002-08-17 04:51:53 +0400
committerRodrigo Moya <rodrigo@mono-cvs.ximian.com>2002-08-17 04:51:53 +0400
commite5d383158ef4a3e88af8d7856eb535c0d1ff0a6f (patch)
treeb0a4efd1eb1199d0bc73103da68f0a0d55e3497e /mcs/class/System.Data/System.Data.OleDb
parent398784cf636207136d610af460141c1cda2d2e26 (diff)
2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
* System.Data.OleDb/TestOleDb.cs: made it work with a temporary table we create. (TestTransaction): added test for transactions. svn path=/trunk/mcs/; revision=6688
Diffstat (limited to 'mcs/class/System.Data/System.Data.OleDb')
-rw-r--r--mcs/class/System.Data/System.Data.OleDb/OleDbTransaction.cs18
-rw-r--r--mcs/class/System.Data/System.Data.OleDb/TestOleDb.cs42
2 files changed, 50 insertions, 10 deletions
diff --git a/mcs/class/System.Data/System.Data.OleDb/OleDbTransaction.cs b/mcs/class/System.Data/System.Data.OleDb/OleDbTransaction.cs
index 092241cb25f..5a61cb9c6a8 100644
--- a/mcs/class/System.Data/System.Data.OleDb/OleDbTransaction.cs
+++ b/mcs/class/System.Data/System.Data.OleDb/OleDbTransaction.cs
@@ -58,15 +58,21 @@ namespace System.Data.OleDb
#region Properties
public OleDbConnection Connection {
- get { return connection; }
+ get {
+ return connection;
+ }
}
IDbConnection IDbTransaction.Connection {
- get { return connection; }
+ get {
+ return connection;
+ }
}
public IsolationLevel IsolationLevel {
- get { return isolationLevel; }
+ get {
+ return isolationLevel;
+ }
}
#endregion // Properties
@@ -85,7 +91,8 @@ namespace System.Data.OleDb
public void Commit ()
{
- if (!libgda.gda_connection_commit_transaction (connection.GdaConnection, gdaTransaction))
+ if (!libgda.gda_connection_commit_transaction (connection.GdaConnection,
+ gdaTransaction))
throw new InvalidOperationException ();
}
@@ -102,7 +109,8 @@ namespace System.Data.OleDb
public void Rollback ()
{
- if (!libgda.gda_connection_rollback_transaction (connection.GdaConnection, gdaTransaction))
+ if (!libgda.gda_connection_rollback_transaction (connection.GdaConnection,
+ gdaTransaction))
throw new InvalidOperationException ();
}
diff --git a/mcs/class/System.Data/System.Data.OleDb/TestOleDb.cs b/mcs/class/System.Data/System.Data.OleDb/TestOleDb.cs
index bc9ebc26b86..ed0e99c70c3 100644
--- a/mcs/class/System.Data/System.Data.OleDb/TestOleDb.cs
+++ b/mcs/class/System.Data/System.Data.OleDb/TestOleDb.cs
@@ -6,14 +6,34 @@ namespace System.Data.OleDb.Test
public class TestOleDb
{
private OleDbConnection m_cnc;
-
+
private TestOleDb ()
{
+ OleDbCommand cmd;
+
m_cnc = new OleDbConnection ("PostgreSQL");
m_cnc.Open ();
+
+ Console.WriteLine ("Creating temporary table...");
+ cmd = new OleDbCommand ("CREATE TABLE mono_test_table ( name varchar(25), email varchar(50))", m_cnc);
+ cmd.ExecuteNonQuery ();
+ InsertRow ("Mike Smith", "mike@smiths.com");
+ InsertRow ("Julie Andrews", "julie@hollywood.com");
+ InsertRow ("Michael Jordan", "michael@bulls.com");
}
- void DisplayRow (IDataReader reader)
+ void InsertRow (string name, string email)
+ {
+ OleDbCommand cmd;
+
+ Console.WriteLine ("Inserting record " + name + "/" + email);
+ cmd = new OleDbCommand ("INSERT INTO mono_test_table (name, email) VALUES ('" +
+ name + "', '" + email +"')", m_cnc);
+ cmd.ExecuteNonQuery ();
+
+ }
+
+ void DisplayRow (OleDbDataReader reader)
{
for (int i = 0; i < reader.FieldCount; i++) {
Console.WriteLine (" " + reader.GetDataTypeName (i) + ": " +
@@ -24,11 +44,11 @@ namespace System.Data.OleDb.Test
void TestDataReader ()
{
int i = 0;
- string sql = "SELECT * FROM pg_tables";
+ string sql = "SELECT * FROM mono_test_table";
- Console.WriteLine ("Executing command...");
+ Console.WriteLine ("Executing SELECT command...");
OleDbCommand cmd = new OleDbCommand (sql, m_cnc);
- IDataReader reader = cmd.ExecuteReader ();
+ OleDbDataReader reader = cmd.ExecuteReader ();
Console.WriteLine (" Recordset description:");
for (i = 0; i < reader.FieldCount; i++) {
@@ -44,8 +64,19 @@ namespace System.Data.OleDb.Test
}
}
+ void TestTransaction ()
+ {
+ Console.WriteLine ("Starting transaction...");
+ OleDbTransaction xaction = m_cnc.BeginTransaction ();
+
+ Console.WriteLine ("Aborting transaction...");
+ xaction.Rollback ();
+ }
+
void Close ()
{
+ OleDbCommand cmd = new OleDbCommand ("DROP TABLE mono_test_table", m_cnc);
+ cmd.ExecuteNonQuery ();
m_cnc.Close ();
}
@@ -54,6 +85,7 @@ namespace System.Data.OleDb.Test
try {
TestOleDb test = new TestOleDb ();
test.TestDataReader ();
+ test.TestTransaction ();
test.Close ();
} catch (Exception e) {
Console.WriteLine ("An error has occured: {0}", e.ToString ());