[Ignore("Before run test require executing DDL query")]
[Test(Description = "Insert binary blob as a byte array")]
public void InsertImageIntoTheBlobField()
{
using (OleDbConnection con = ConnectionProvider.CreateConnection())
{
con.Open();
OleDbTransaction trans = con.BeginTransaction ();
OleDbCommand cmd = new OleDbCommand(
"insert into AUTENTIFICATION_LOG \n" +
"(SYSTEM_SETTING_ID, USE_WINDOWS_AUTHENTICATION, LOGON_IMAGE) \n" +
"VALUES(?, ?, ?)", con, trans);
cmd.Parameters.AddWithValue("SYSTEM_SETTING_ID", new Random().Next());
cmd.Parameters.AddWithValue("USE_WINDOWS_AUTHENTICATION", false);
Bitmap bmp = SystemIcons.Warning.ToBitmap();
OleDbParameter blob = new OleDbParameter();
blob.OleDbType = OleDbType.LongVarBinary;
blob.Value = (byte[])TypeDescriptor.GetConverter(bmp).ConvertTo(bmp, typeof(byte[]));
cmd.Parameters.Add(blob);
Assert.AreEqual(1, cmd.ExecuteNonQuery());
trans.Commit();
}
|