Esempio n. 1
0
        public void TestBulkLoadOnStoredProcedureCommand()
        {
            using (NuoDbConnection connection = new NuoDbConnection(TestFixture1.connectionString))
            {
                connection.Open();
                new NuoDbCommand("drop table temp if exists", connection).ExecuteNonQuery();
                new NuoDbCommand("create table temp (col string)", connection).ExecuteNonQuery();
                new NuoDbCommand("drop procedure nunit_test if exists", connection).ExecuteNonQuery();
                new NuoDbCommand("create procedure nunit_test(input_data string) " +
                                 " as " +
                                 "   insert into temp values (input_data); " +
                                 " end_procedure", connection).ExecuteNonQuery();

                DataTable metadata = new DataTable("dummy");
                metadata.Columns.Add("xyz", typeof(string));
                DataRow[] rows = new DataRow[10];
                for (int i = 0; i < rows.Length; i++)
                {
                    rows[i]    = metadata.NewRow();
                    rows[i][0] = Convert.ToString(i);
                }

                NuoDbCommand loader = new NuoDbCommand(connection);
                loader.CommandType = CommandType.StoredProcedure;
                loader.CommandText = "nunit_test";
                loader.ExecuteBatch(rows);

                DbCommand command = new NuoDbCommand("select count(*) from temp", connection);
                object    val     = command.ExecuteScalar();

                Assert.AreEqual(10, val);

                command = new NuoDbCommand("select col from temp", connection);
                val     = command.ExecuteScalar();

                Assert.AreEqual("0", val);
            }
        }