public void BatchExecuteNoQuery_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { LogTestStep("Test BatchExecute with serveral non-query sql statements"); conn.ConnectionString = DBHelper.connString; conn.Open(); DBHelper.ExecuteSQL("drop table if exists t", conn); string[] sql_arr = new string[4]; sql_arr[0] = "create table t(id integer)"; sql_arr[1] = "insert into t values(11)"; sql_arr[2] = "insert into t values(22)"; sql_arr[3] = "insert into t values(33)"; int result = conn.BatchExecuteNoQuery(sql_arr); Assert.AreEqual(4, result); string sql = "select * from t"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { using (DbDataReader reader = cmd.ExecuteReader()) { for (int i = 1; i < 4; i++) { reader.Read(); Assert.AreEqual(i * 11, reader.GetInt32(0)); } LogStepPass(); } } LogTestStep("Test BatchExecute with null"); try { result = conn.BatchExecuteNoQuery(null); Log("The expected exception is not thrown: Object reference not set to an instance of an object."); LogStepFail(); } catch (CUBRIDException ex) { Log(ex.Message); Assert.AreEqual("Object reference not set to an instance of an object.", ex.Message); LogStepPass(); } //revert the test db DBHelper.ExecuteSQL("drop table t;", conn); LogTestResult(); } }
/// <summary> /// Test CUBRIDConnection BatchExecuteNoQuery() method /// </summary> private static void Test_BatchExecuteNoQuery() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = TestCases.connString; conn.Open(); string[] sqls = new string[3]; sqls[0] = "create table t(id int)"; sqls[1] = "insert into t values(1)"; sqls[2] = "insert into t values(2)"; conn.BatchExecuteNoQuery(sqls); string sql = "select count(*) from t"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { using (DbDataReader reader = cmd.ExecuteReader()) { reader.Read(); Debug.Assert(reader.GetInt32(0) == 2); } } TestCases.ExecuteSQL("drop table t", conn); } }