From: Carlos G. A. <car...@te...> - 2003-10-04 10:08:45
|
Hello: > can provide example code. A sample from the NUnit test suite for binary blob write & read: public void BinaryBlobTest() { int id_value = System.DateTime.Now.Millisecond; string selectText = "SELECT blob_field FROM test_table_01 WHERE int_field = " + id_value.ToString(); string insertText = "INSERT INTO test_table_01 (int_field, blob_field) values(@int_field, @blob_field)"; 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 FbCommand insert = new FbCommand(insertText, connection, transaction); insert.Parameters.Add("@int_field", FbDbType.Integer).Value = id_value; insert.Parameters.Add("@blob_field", FbDbType.Binary).Value = insert_values; insert.ExecuteNonQuery(); transaction.Commit(); Console.WriteLine("Checking inserted values"); // Check that inserted values are correct FbCommand select = new FbCommand(selectText, connection); FbDataReader reader = select.ExecuteReader(); if (reader.Read()) { if (!reader.IsDBNull(0)) { byte[] select_values = (byte[])reader[0]; 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"); reader.Close(); // Start a new Transaction transaction = connection.BeginTransaction(); } -- Best regards Carlos Guzmán Álvarez Vigo-Spain "Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." Albert Einstein. |