// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !NO_ODBC
+
using System;
using System.Data;
using System.Data.Odbc;
using NUnit.Framework;
-namespace MonoTests.System.Data.Odbc
+namespace MonoTests.System.Data.Connected.Odbc
{
-
- [TestFixture]
- [Category ("odbc")]
- public class OdbcDataAdapterTest
+ [TestFixture]
+ [Category ("odbc")]
+ public class OdbcDataAdapterTest
{
-
[Test]
- public void FillTest ()
+ public void FillTest ()
{
- IDbConnection conn = ConnectionManager.Singleton.Connection;
- try {
- ConnectionManager.Singleton.OpenConnection ();
+ OdbcConnection conn = ConnectionManager.Instance.Odbc.Connection;
+ try
+ {
// For this Test, you must create sample table
// called person-age, with a non-zero number of rows
// and non-zero number of columns
"#4 column values must not be of size 0");
}
} finally {
- ConnectionManager.Singleton.CloseConnection ();
+ ConnectionManager.Instance.Odbc.CloseConnection ();
+ }
+ }
+
+ [Test]
+ [Ignore]
+ public void InsertUtf8Test ()
+ {
+ OdbcConnection conn = ConnectionManager.Instance.Odbc.Connection;
+ try
+ {
+ DoExecuteNonQuery ((OdbcConnection) conn,
+ "CREATE TABLE odbc_ins_utf8_test(ival int not null, sval varchar(20))");
+ Assert.AreEqual (DoExecuteNonQuery ((OdbcConnection) conn,
+ "INSERT INTO odbc_ins_utf8_test(ival, sval) VALUES (1, 'English')"),
+ 1);
+ Assert.AreEqual (DoExecuteNonQuery ((OdbcConnection) conn,
+ "INSERT INTO odbc_ins_utf8_test(ival, sval) VALUES (2, 'Français')"),
+ 1);
+ Assert.AreEqual (DoExecuteNonQuery ((OdbcConnection) conn,
+ "INSERT INTO odbc_ins_utf8_test(ival, sval) VALUES (3, 'Español')"),
+ 1);
+ Assert.AreEqual (DoExecuteScalar ((OdbcConnection) conn,
+ "SELECT COUNT(*) FROM odbc_ins_utf8_test WHERE sval " +
+ "IN('English', 'Français', 'Español')"),
+ 3);
+ } finally {
+ DoExecuteNonQuery ((OdbcConnection) conn, "DROP TABLE odbc_ins_utf8_test");
+ ConnectionManager.Instance.Odbc.CloseConnection ();
}
}
+
+ private int DoExecuteNonQuery (OdbcConnection conn, string sql)
+ {
+ OdbcCommand cmd = new OdbcCommand (sql, conn);
+ return cmd.ExecuteNonQuery ();
+ }
+
+ private int DoExecuteScalar (OdbcConnection conn, string sql)
+ {
+ OdbcCommand cmd = new OdbcCommand (sql, conn);
+ object value = cmd.ExecuteScalar ();
+ return (int) Convert.ChangeType (value, typeof (int));
+ }
}
}
+
+#endif
\ No newline at end of file