У меня проблемы с обновлением изображений в моей базе данных в MySQL.
Я использую комбинированный список, чтобы выбрать идентификатор пользователя и заполнить этот комбинированный список этим идентификатором и изображением, связанным с этим идентификатором. на картинке
Я могу просто добавлять и удалять изображения, но проблема в том, что когда я пытаюсь обновить любое изображение, я получаю ошибку "Невозможно привести объект типа 'System.Byte []' к типу ' System.IConvertible '".
Я посмотрел его, и он как-то связан с передачей массива байтов в один байт, что невозможно.
Вот мой код обновите изображение:
Dim filesize As UInteger
Dim imgcliente As New MemoryStream
PictureBox1.Image.Save(imgcliente, PictureBox1.Image.RawFormat)
Dim arrImage As Byte() = imgcliente.GetBuffer
filesize = imgcliente.Length
imgcliente.Close()
А вот мой код для извлечения связанного изображения из идентификатора:
cmd = New MySqlCommand("SELECT Imagem_Cliente FROM adegages.clientes WHERE ID_Cliente='" & cmb_cliente.Text & "'", con)
Dim imagedata As Byte() = DirectCast(cmd.ExecuteScalar(), Byte())
If Not imagedata Is Nothing Then
Using ms As New System.IO.MemoryStream(imagedata, 0, imagedata.Length)
ms.Write(imagedata, 0, imagedata.Length)
PictureBox1.Image = New Bitmap(Image.FromStream(ms, True))
End Using
End If
Возможно, это просто какая-то строка, и ее может быть невероятно легко решить, но Я просто не могу понять, где я ошибаюсь.
Спасибо заранее
Редактировать:
Это код для редактирования записей в базе данных
Dim atualizar_vendas As New MySqlCommand("UPDATE vendas SET ID_Venda=@ID,
Cliente_Venda=@CLIENTE, Data_Venda=@DATA, Qnt_Vinho_Venda=@QNT,
Tipo_Casta_Venda=@TIPO_CASTA, Nome_Casta_Venda=@NOME_CASTA,
Total_Venda=@TOTAL, Imagem_Cliente=@IMG WHERE ID_Venda = @ID", con)
atualizar_vendas.Parameters.Add("@ID", MySqlDbType.Int32).Value = txt_id_venda.Text
atualizar_vendas.Parameters.Add("@CLIENTE", MySqlDbType.VarChar).Value = cmb_cliente.Text
atualizar_vendas.Parameters.Add("@DATA", MySqlDbType.VarChar).Value = mtx_data_venda.Text
atualizar_vendas.Parameters.Add("@QNT", MySqlDbType.VarChar).Value = txt_qnt_vendida.Text
atualizar_vendas.Parameters.Add("@TIPO_CASTA", MySqlDbType.VarChar).Value = cmb_tipo_casta.Text
atualizar_vendas.Parameters.Add("@NOME_CASTA", MySqlDbType.VarChar).Value = cmb_nome_casta.Text
atualizar_vendas.Parameters.Add("@TOTAL", MySqlDbType.VarChar).Value = txt_total.Text
atualizar_vendas.Parameters.Add("@IMG", MySqlDbType.Int32).Value = arrImage
Try
con.Open()
If atualizar_vendas.ExecuteNonQuery() > 0 Then
MsgBox("Editado com sucesso!", MsgBoxStyle.Information, "AdegaGes")
Limpar()
End If
con.Close()
Retrieve_Clientes()
Retrieve_Tipo_Casta()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "AdegaGes")
con.Close()
Finally
con.Dispose()
cmd.Dispose()
End Try