Как заполнить datagridview данными, которые содержат данные и изображения, хранящиеся в таблице sqlserver

Я прочитал много статей по этому вопросу. Но не получил надлежащего ответа или, может быть, я не в состоянии понять.

У меня есть таблица, в которой хранится номер квитанции, номера партий и копия квитанции в виде изображения в базе данных.

например: Referenceid : int номер партии : int квитанция сжато : изображение

Я пытаюсь отобразить эти данные в datagridview

 Dim sqlString As String
 Dim storeID As String
 Dim saleDate As String
 Dim ds As DataSet

 With DataGridView1
     storeID = .CurrentRow.Cells(1).Value
     saleDate = .CurrentRow.Cells(2).Value
 End With

 sqlString = "select batchnumber, [time],ReceiptCompressed from Journal where TransactionType=16 and StoreId ='" & storeID & "'" & _
                 "  and [Time] between '" & saleDate & " 00:00:00' and '" & saleDate & " 23:59:59'"




 ds = getDataset(connectionString, sqlString)

 DataGridView2.DataSource = ds.Tables(0)

Проблема в том, что при загрузке данных возникает ошибка.

"Произошла следующая ошибка в datagridview

system.argumentexception.image.fromstream(системная система, логическое значение useembeddedcolormanagement, логическое значение validateimagedata "и т. д...."

Может ли кто-нибудь сказать мне, что это самый простой способ сделать это? Как уже упоминалось, данные, хранящиеся в таблице, я хочу загрузить в datagridview вместе с изображением.

Спасибо Венкат


person Venkat Nori    schedule 12.10.2015    source источник
comment
Является ли изображение одним из эти форматы?   -  person Crowcoder    schedule 12.10.2015


Ответы (1)


Попробуйте сохранить изображения в виде строки base64:

Dim byt As Byte() = System.Text.Encoding.UTF8.GetBytes(strTextOrFile)
strModified = Convert.ToBase64String(byt)

... и сохраните их в своей БД. Чтобы преобразовать строки base64 в изображения, используйте:

Dim b As Byte() = Convert.FromBase64String(strModified)
strTextOrFile = System.Text.Encoding.UTF8.GetString(b)

Еще один способ работы с изображениями — не сохранять их в свою базу данных, а только его путь.

person aprados    schedule 12.10.2015
comment
У меня есть приложение, которое хранит квитанцию ​​​​pos в базе данных. Сравнивать отчет X (конец дня) и отчет о фактических продажах обременительно. Я пытаюсь создать приложение, в котором при выборе даты и имени магазина отображается отчет X из базы данных и отображается в окне изображения. Это значительно экономит время пользователя. - person Venkat Nori; 13.10.2015
comment
Чего я не понимаю, так это почему генерируется недействительная ошибка параметра. Тип данных поля в базе данных сервера sql — «изображение» и следует тем же примерам в Интернете. - person Venkat Nori; 13.10.2015
comment
Возможно, это связано с используемым вами базовым языком (и вашей фактической кодировкой). Не могли бы вы опубликовать некоторые значения, используемые при появлении ошибки? - person aprados; 13.10.2015