Как я могу обновить двоичные данные в базе данных - PullRequest
0 голосов
/ 09 июля 2020

Я хочу сделать запрос на обновление, который обновит все данные в текстовом поле, поле со списком и поле изображения. Когда я создал запрос для текстового поля и поля со списком, он работает нормально. но когда я добавляю двоичные данные изображения Picturebox, каким-то образом запрос перестает работать, и он также не показывает никаких ошибок, он просто не обновляет данные. Я хочу обновить все данные в базе данных

Вот код

private void updatebill()
{
        if (cn.State == ConnectionState.Closed)
        {
            cn.Open();
        }

        da = new OleDbDataAdapter();
        dt = new DataTable();
        ds = new DataSet();

        string str;

        str = "UPDATE BillTable set [Bill_No]= '"+ billno.Text + "', [Bill_Year] = '" + fylabel.Text + "', [Group_ID]= '" + groupidDB + "', [Vendor_Id]= '" + vendoridDB + "', [Amount]= '" + amount.Text + "', Picture1= @pict1 , Picture2= @pict2, Picture3= @pict3, Picture4= @pict4  where (ID= @billID)";

        cmd = new OleDbCommand(str, cn);
        cmd.Parameters.AddWithValue("@billID", Convert.ToString(BillIdentity.Text));
        cmd.Parameters.AddWithValue("@voucher", Convert.ToString(voucher.Text));

        // picture box
        if (PictureBox1.Image != null)
        {
            Bitmap bitmap = new Bitmap(PictureBox1.Image);
            byte[] pic = ImageToBytes(bitmap, System.Drawing.Imaging.ImageFormat.Jpeg);
            cmd.Parameters.AddWithValue("@pict1", pic);
        }
        else
        {
            cmd.Parameters.AddWithValue("@pict1", OleDbType.Binary).Value = DBNull.Value;
        }

        if (pictureBox2.Image != null)
        {
            Bitmap bitmap = new Bitmap(pictureBox2.Image);
            byte[] pic2 = ImageToBytes(bitmap, System.Drawing.Imaging.ImageFormat.Jpeg);
            cmd.Parameters.AddWithValue("@pict2", pic2);
        }
        else
        {
            cmd.Parameters.AddWithValue("@pict2", OleDbType.Binary).Value = DBNull.Value;
        }

        if (pictureBox3.Image != null)
        {
            Bitmap bitmap = new Bitmap(pictureBox3.Image);
            byte[] pic3 = ImageToBytes(bitmap, System.Drawing.Imaging.ImageFormat.Jpeg);
            cmd.Parameters.AddWithValue("@pict3", pic3);
        }
        else
        {
            cmd.Parameters.AddWithValue("@pict3", OleDbType.Binary).Value = DBNull.Value;
        }

        if (pictureBox4.Image != null)
        {
            Bitmap bitmap = new Bitmap(pictureBox4.Image);
            byte[] pic4 = ImageToBytes(bitmap, System.Drawing.Imaging.ImageFormat.Jpeg);
            cmd.Parameters.AddWithValue("@pict4", pic4);
        }
        else
        {
            cmd.Parameters.AddWithValue("@pict4", OleDbType.Binary).Value = DBNull.Value;
        }

        cmd.ExecuteNonQuery();
        cn.Close();
}

private byte[] ImageToBytes(Image image, System.Drawing.Imaging.ImageFormat format)
{
        using (System.IO.MemoryStream menStream = new System.IO.MemoryStream())
        {
            image.Save(menStream, format);
            return menStream.ToArray();
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...