diff options
author | Sureshkumar T <suresh@mono-cvs.ximian.com> | 2005-09-13 17:53:46 +0400 |
---|---|---|
committer | Sureshkumar T <suresh@mono-cvs.ximian.com> | 2005-09-13 17:53:46 +0400 |
commit | 8cd1f5e0973ffe4c2180becc8c510acfb9342b30 (patch) | |
tree | f305721e8037bf9ab082004739f1c73a2cc5c6d1 /mcs/class/System.Data/Test | |
parent | 3435f767fe46d2af681d69f128f62bfe453180bc (diff) | |
parent | c004261791582b68af3ef3268a6a67bdcdbfef05 (diff) |
2005-09-13 Sureshkumar T <tsureshkumar@novell.com>
* Moved TestGda.cs & TestOleDb.cs to ..\Test.
svn path=/trunk/mcs/; revision=49967
Diffstat (limited to 'mcs/class/System.Data/Test')
-rw-r--r-- | mcs/class/System.Data/Test/TestGDA.cs | 55 | ||||
-rw-r--r-- | mcs/class/System.Data/Test/TestOleDb.cs | 132 |
2 files changed, 187 insertions, 0 deletions
diff --git a/mcs/class/System.Data/Test/TestGDA.cs b/mcs/class/System.Data/Test/TestGDA.cs new file mode 100644 index 00000000000..6e908030eb7 --- /dev/null +++ b/mcs/class/System.Data/Test/TestGDA.cs @@ -0,0 +1,55 @@ + +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +using System; +using System.Data.OleDb; + +namespace Mono.Data.GDA.Test +{ + public class TestGDA + { + private IntPtr m_gdaClient = IntPtr.Zero; + private IntPtr m_gdaConnection = IntPtr.Zero; + + static void Main (string[] args) + { + TestGDA test = new TestGDA (); + + /* initialization */ + libgda.gda_init ("TestGDA#", "0.1", args.Length, args); + test.m_gdaClient = libgda.gda_client_new (); + + /* open connection */ + test.m_gdaConnection = libgda.gda_client_open_connection ( + test.m_gdaClient, + "PostgreSQL", + "", ""); + if (test.m_gdaConnection != IntPtr.Zero) { + System.Console.Write ("Connection successful!"); + + /* close connection */ + libgda.gda_connection_close (test.m_gdaConnection); + } + } + } +} diff --git a/mcs/class/System.Data/Test/TestOleDb.cs b/mcs/class/System.Data/Test/TestOleDb.cs new file mode 100644 index 00000000000..b31c4ebb6b2 --- /dev/null +++ b/mcs/class/System.Data/Test/TestOleDb.cs @@ -0,0 +1,132 @@ + +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +using System; +using System.Data.OleDb; + +namespace System.Data.OleDb.Test +{ + public class TestOleDb + { + private OleDbConnection m_cnc; + + private TestOleDb () + { + OleDbCommand cmd; + + m_cnc = new OleDbConnection ("Provider=PostgreSQL;Addr=127.0.0.1;Database=rodrigo"); + m_cnc.Open (); + + Console.WriteLine ("Connected to:"); + Console.WriteLine (" Data Source: " + m_cnc.DataSource); + Console.WriteLine (" Database: " + m_cnc.Database); + Console.WriteLine (" Connection string: " + m_cnc.ConnectionString); + Console.WriteLine (" Provider: " + m_cnc.Provider); + Console.WriteLine (" Server version:" + m_cnc.ServerVersion); + + /* create temporary table */ + Console.WriteLine ("Creating temporary table..."); + cmd = new OleDbCommand ("CREATE TABLE mono_test_table ( " + + " name varchar(25), email varchar(50), date_entered timestamp)", + m_cnc); + cmd.ExecuteNonQuery (); + InsertRow ("Mike Smith", "mike@smiths.com"); + InsertRow ("Julie Andrews", "julie@hollywood.com"); + InsertRow ("Michael Jordan", "michael@bulls.com"); + } + + void InsertRow (string name, string email) + { + OleDbCommand cmd; + + cmd = new OleDbCommand ("INSERT INTO mono_test_table (name, email, date_entered) VALUES ('" + + name + "', '" + email +"', date 'now')", m_cnc); + Console.WriteLine ("Executing command '" + cmd.CommandText + "'"); + cmd.ExecuteNonQuery (); + + } + + void DisplayRow (OleDbDataReader reader) + { + for (int i = 0; i < reader.FieldCount; i++) { + Console.WriteLine (" " + reader.GetDataTypeName (i) + ": " + + reader.GetValue (i).ToString ()); + } + } + + void TestDataReader () + { + int i = 0; + string sql = "SELECT * FROM mono_test_table"; + + Console.WriteLine ("Executing SELECT command..."); + OleDbCommand cmd = new OleDbCommand (sql, m_cnc); + OleDbDataReader reader = cmd.ExecuteReader (); + + Console.WriteLine (" Recordset description:"); + for (i = 0; i < reader.FieldCount; i++) { + Console.WriteLine (" Field " + i + ": " + + reader.GetName (i) + " (" + + reader.GetDataTypeName (i) + ")"); + } + + Console.WriteLine ("Reading data..."); + i = 0; + while (reader.Read ()) { + Console.WriteLine ("Row " + i + ":"); + DisplayRow (reader); + i++; + } + + reader.Close (); + } + + 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 (); + } + + static void Main (string[] args) + { + try { + TestOleDb test = new TestOleDb (); + test.TestDataReader (); + test.TestTransaction (); + test.Close (); + } catch (Exception e) { + Console.WriteLine ("An error has occured: {0}", e.ToString ()); + } + } + } +} |