public void TextBlobTest()
        {
            int    id_value = this.GetId();
            string text     = "Borland Data Provider Clob Field test";

            string selectText = "SELECT clob_field FROM TEST WHERE int_field = " + id_value.ToString();
            string insertText = "INSERT INTO TEST (int_field, clob_field) values(?, ?)";

            Console.WriteLine("\r\n\r\nBinary Blob Test");

            Console.WriteLine("Executing insert command");

            // Execute insert command
            BdpTransaction transaction = Connection.BeginTransaction();

            BdpCommand insert = new BdpCommand(insertText, Connection, transaction);

            insert.Parameters.Add("@int_field", BdpType.Int32).Value = id_value;
            insert.Parameters.Add("@clob_field", BdpType.Blob, BdpType.stHMemo).Value = text;
            insert.ExecuteNonQuery();

            transaction.Commit();

            Console.WriteLine("Checking inserted values");

            // Check that inserted values are correct
            BdpCommand select = new BdpCommand(selectText, Connection);
            string     result = new String((char[])select.ExecuteScalar());

            Assert.AreEqual(text, result);

            Console.WriteLine("Finishing test");
        }
        public void ExecuteScalarTest()
        {
            BdpCommand command = new BdpCommand("select sum(int_field) from TEST", Connection);

            object actual = command.ExecuteScalar();

            Console.WriteLine("\r\nExecuteScalar with implicit transaction: {0}", actual);
            Assert.AreEqual(4950, actual, "Wrong sum returned.");

            command.Dispose();
        }
示例#3
0
        public void ExecuteScalarTest()
        {
            BdpCommand command = Connection.CreateCommand();

            command.CommandText = "select CHAR_FIELD from TEST where INT_FIELD = ?";
            command.Parameters.Add("@INT_FIELD", 2);

            string charFieldValue = command.ExecuteScalar().ToString();

            Console.WriteLine("Scalar value: {0}", charFieldValue);

            Assert.AreEqual(charFieldValue, "IRow 2", "Wrong value.");
            command.Close();
        }
        public void BinaryBlobTest()
        {
            int id_value = this.GetId();

            string selectText = "SELECT blob_field FROM TEST WHERE int_field = " + id_value.ToString();
            string insertText = "INSERT INTO TEST (int_field, blob_field) values(?, ?)";

            Console.WriteLine("\r\n\r\nBinary Blob Test");

            Console.WriteLine("Generating an array of temp data");
            // Generate an array of temp data
            byte[] insert_values         = new byte[100000 * 4];
            RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

            rng.GetBytes(insert_values);

            Console.WriteLine("Executing insert command");

            // Execute insert command
            BdpTransaction transaction = Connection.BeginTransaction();

            BdpCommand insert = new BdpCommand(insertText, Connection, transaction);

            insert.Parameters.Add("@int_field", BdpType.Int32).Value = id_value;
            insert.Parameters.Add("@blob_field", BdpType.Blob, BdpType.stHBinary).Value = insert_values;
            insert.ExecuteNonQuery();

            transaction.Commit();

            Console.WriteLine("Checking inserted values");

            // Check that inserted values are correct
            BdpCommand select = new BdpCommand(selectText, Connection);

            byte[] select_values = (byte[])select.ExecuteScalar();

            for (int i = 0; i < insert_values.Length; i++)
            {
                if (insert_values[i] != select_values[i])
                {
                    throw new Exception("differences at index " + i.ToString());
                }
            }

            Console.WriteLine("Finishing test");
        }
        public void UpdateTimeStampTest()
        {
            string         sql         = "select * from TEST where int_field = ?";
            BdpTransaction transaction = this.Connection.BeginTransaction();
            BdpCommand     command     = new BdpCommand(sql, Connection, transaction);
            BdpDataAdapter adapter     = new BdpDataAdapter(command);

            adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            DateTime dtValue = DateTime.Now;

            ds.Tables["TEST"].Rows[0]["TIMESTAMP_FIELD"] = dtValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT timestamp_field FROM TEST WHERE int_field = ?";
            command = new BdpCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            DateTime val = (DateTime)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(dtValue.Day, val.Day, "timestamp_field has not correct day");
            Assert.AreEqual(dtValue.Month, val.Month, "timestamp_field has not correct month");
            Assert.AreEqual(dtValue.Year, val.Year, "timestamp_field has not correct year");
            Assert.AreEqual(dtValue.Hour, val.Hour, "timestamp_field has not correct hour");
            Assert.AreEqual(dtValue.Minute, val.Minute, "timestamp_field has not correct minute");
            Assert.AreEqual(dtValue.Second, val.Second, "timestamp_field has not correct second");
        }
示例#6
0
		public void BinaryBlobTest()
		{
			int id_value = this.GetId();
			
			string selectText = "SELECT blob_field FROM TEST WHERE int_field = " + id_value.ToString();
			string insertText = "INSERT INTO TEST (int_field, blob_field) values(?, ?)";
			
			Console.WriteLine("\r\n\r\nBinary Blob Test");
			
			Console.WriteLine("Generating an array of temp data");
			// Generate an array of temp data
			byte[] insert_values = new byte[100000*4];
			RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
			rng.GetBytes(insert_values);
			
			Console.WriteLine("Executing insert command");

			// Execute insert command
			BdpTransaction transaction = Connection.BeginTransaction();

            BdpCommand insert = new BdpCommand(insertText, Connection, transaction);
            insert.Parameters.Add("@int_field", BdpType.Int32).Value = id_value;
            insert.Parameters.Add("@blob_field", BdpType.Blob, BdpType.stHBinary).Value = insert_values;
            insert.ExecuteNonQuery();

			transaction.Commit();

			Console.WriteLine("Checking inserted values");

			// Check that inserted values are correct
            BdpCommand select = new BdpCommand(selectText, Connection);
            byte[] select_values = (byte[])select.ExecuteScalar();			

			for (int i = 0; i < insert_values.Length; i++)
			{
				if (insert_values[i] != select_values[i])
				{
					throw new Exception("differences at index " + i.ToString());
				}
			}

			Console.WriteLine("Finishing test");
		}
        public void UpdateDecimalTest()
        {
            string         sql         = "select * from TEST where int_field = ?";
            BdpTransaction transaction = this.Connection.BeginTransaction();
            BdpCommand     command     = new BdpCommand(sql, Connection, transaction);
            BdpDataAdapter adapter     = new BdpDataAdapter(command);

            adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["DECIMAL_FIELD"] = System.Int32.MaxValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT decimal_field FROM TEST WHERE int_field = ?";
            command = new BdpCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            decimal val = (decimal)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(System.Int32.MaxValue, val, "decimal_field has an incorrect value");
        }
        public void UpdateVarCharTest()
        {
            string         sql         = "select * from TEST where int_field = ?";
            BdpTransaction transaction = this.Connection.BeginTransaction();
            BdpCommand     command     = new BdpCommand(sql, Connection, transaction);
            BdpDataAdapter adapter     = new BdpDataAdapter(command);

            adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["VARCHAR_FIELD"] = "ONE VAR THOUSAND";

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT varchar_field FROM TEST WHERE int_field = ?";
            command = new BdpCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

            string val = (string)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual("ONE VAR THOUSAND", val.Trim(), "varchar_field has an incorrect value");
        }
		public void ExecuteScalarTest()
		{
			BdpCommand command = new BdpCommand("select sum(int_field) from TEST", Connection);

			object actual = command.ExecuteScalar();
			Console.WriteLine("\r\nExecuteScalar with implicit transaction: {0}", actual);
			Assert.AreEqual(4950, actual, "Wrong sum returned.");

			command.Dispose();
		}
示例#10
0
		public void UpdateTimeStampTest()
		{
			string			sql		= "select * from TEST where int_field = ?";
			BdpTransaction	transaction = this.Connection.BeginTransaction();
			BdpCommand		command		= new BdpCommand(sql, Connection, transaction);
			BdpDataAdapter	adapter		= new BdpDataAdapter(command);

			adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;
			
			BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

			DataSet ds = new DataSet();
			adapter.Fill(ds, "TEST");

			Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

			DateTime dtValue = DateTime.Now;

			ds.Tables["TEST"].Rows[0]["TIMESTAMP_FIELD"] = dtValue;

			adapter.Update(ds, "TEST");

			adapter.Dispose();
			builder.Dispose();
			command.Dispose();

			transaction.Commit();

			transaction = Connection.BeginTransaction();

			sql		= "SELECT timestamp_field FROM TEST WHERE int_field = ?";
			command = new BdpCommand(sql, Connection, transaction);
			command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

			DateTime val = (DateTime)command.ExecuteScalar();

			transaction.Commit();

			Assert.AreEqual(dtValue.Day, val.Day, "timestamp_field has not correct day");
			Assert.AreEqual(dtValue.Month, val.Month, "timestamp_field has not correct month");
			Assert.AreEqual(dtValue.Year, val.Year, "timestamp_field has not correct year");
			Assert.AreEqual(dtValue.Hour, val.Hour, "timestamp_field has not correct hour");
			Assert.AreEqual(dtValue.Minute, val.Minute, "timestamp_field has not correct minute");
			Assert.AreEqual(dtValue.Second, val.Second, "timestamp_field has not correct second");
		}
示例#11
0
		public void UpdateDecimalTest()
		{
			string			sql		= "select * from TEST where int_field = ?";
			BdpTransaction	transaction = this.Connection.BeginTransaction();
			BdpCommand		command		= new BdpCommand(sql, Connection, transaction);
			BdpDataAdapter	adapter		= new BdpDataAdapter(command);

			adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;
			
			BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

			DataSet ds = new DataSet();
			adapter.Fill(ds, "TEST");

			Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

			ds.Tables["TEST"].Rows[0]["DECIMAL_FIELD"]	= System.Int32.MaxValue;
			
			adapter.Update(ds, "TEST");

			adapter.Dispose();
			builder.Dispose();
			command.Dispose();

			transaction.Commit();

			transaction = Connection.BeginTransaction();

			sql		= "SELECT decimal_field FROM TEST WHERE int_field = ?";
			command = new BdpCommand(sql, Connection, transaction);
			command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

			decimal val = (decimal)command.ExecuteScalar();

			transaction.Commit();

			Assert.AreEqual(System.Int32.MaxValue, val, "decimal_field has an incorrect value");
		}
示例#12
0
		public void UpdateVarCharTest()
		{
			string			sql		= "select * from TEST where int_field = ?";
			BdpTransaction	transaction = this.Connection.BeginTransaction();
			BdpCommand		command		= new BdpCommand(sql, Connection, transaction);
			BdpDataAdapter	adapter		= new BdpDataAdapter(command);

			adapter.SelectCommand.Parameters.Add("@int_field", BdpType.Int32).Value = 1;
			
			BdpCommandBuilder builder = new BdpCommandBuilder(adapter);

			DataSet ds = new DataSet();
			adapter.Fill(ds, "TEST");

			Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

			ds.Tables["TEST"].Rows[0]["VARCHAR_FIELD"]	= "ONE VAR THOUSAND";

			adapter.Update(ds, "TEST");

			adapter.Dispose();
			builder.Dispose();
			command.Dispose();

			transaction.Commit();

			transaction = Connection.BeginTransaction();

			sql		= "SELECT varchar_field FROM TEST WHERE int_field = ?";
			command = new BdpCommand(sql, Connection, transaction);			
			command.Parameters.Add("@int_field", BdpType.Int32).Value = 1;

			string val = (string)command.ExecuteScalar();

			transaction.Commit();

			Assert.AreEqual("ONE VAR THOUSAND", val.Trim(), "varchar_field has an incorrect value");
		}
示例#13
0
        public void TextBlobTest()
        {
            int    id_value = this.GetId();
            string text     = "Borland Data Provider Clob Field test";

            string selectText = "SELECT clob_field FROM TEST WHERE int_field = " + id_value.ToString();
            string insertText = "INSERT INTO TEST (int_field, clob_field) values(?, ?)";

            Console.WriteLine("\r\n\r\nBinary Blob Test");

            Console.WriteLine("Executing insert command");

            // Execute insert command
            BdpTransaction transaction = Connection.BeginTransaction();

            BdpCommand insert = new BdpCommand(insertText, Connection, transaction);
            insert.Parameters.Add("@int_field", BdpType.Int32).Value = id_value;
            insert.Parameters.Add("@clob_field", BdpType.Blob, BdpType.stHMemo).Value = text;
            insert.ExecuteNonQuery();

            transaction.Commit();

            Console.WriteLine("Checking inserted values");

            // Check that inserted values are correct
            BdpCommand select = new BdpCommand(selectText, Connection);
            string result = new String((char[])select.ExecuteScalar());

            Assert.AreEqual(text, result);

            Console.WriteLine("Finishing test");
        }