예제 #1
0
        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();
            }
        }
예제 #2
0
    /// <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);
      }
    }