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(); }
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"); }
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"); }