Я кодирую приложение для печати счетов. У меня есть форма, в которой я загружаю данные. Я хочу автоматизировать печать, поэтому в этом порядке я сохраняю изображение BMP моей заполненной формы и затем сохраняю в базе данных mdf для поздней печати каждой строки/ячейки (изображения в этом случае). Но когда я перетаскиваю таблицу в форму предварительного просмотра (только для chek, если я правильно храню данные), появляется идентификатор каждой строки, но я не вижу изображение этой строки ... вопрос в том, что я делаю неправильно здесь? (Я смотрел много учебников по уплотнительное последние 3 дня, но я не могу понять, все же, что делать)Хранение растрового изображения в sql
Public Sub toBitMap()
'Define un nuevo bitmap con las dimensiones del form
Dim miBitMap As New Bitmap(imprimir.Width, imprimir.Height)
' Dibuja la imagen del form en un objetoBitmap
imprimir.DrawToBitmap(miBitMap, New Rectangle(0, 0, imprimir.Width, imprimir.Height))
Dim memoryStreamBuffer = New MemoryStream()
miBitMap.Save(memoryStreamBuffer, ImageFormat.Bmp)
Dim data As Byte() = memoryStreamBuffer.GetBuffer()
Dim saveImage As imagenesTableAdapter = New imagenesTableAdapter
Dim a As String = saveImage.insertImagen(data)
If multiple.iteraciones <= 0 Then
cantidad = saveImage.ScalarQuery()
End If
End Sub
Вы не видите изображения в БД доступа, вы храните байты. Там очень много ошибок, BMP огромен, поэтому рассмотрим JPG, рассмотрим возможность сохранения только имени файла в MDF и фактического файла, чтобы избежать раздувания базы данных, избавиться от вашего мейнстрима и не использовать GetBuffer. Здесь есть много примеров, как это сделать. – Plutonix
Спасибо большое. Я ищу информацию о ваших советах Предлагаете ли вы другой подход к автоматической печати? Gjc –
Пожалуйста, ** избегайте раздувания больших BLOB данных ** в такой ограниченной базе данных, как Access. Вам лучше сохранить изображения в Файловой системе и сохранить ** пути ** (строки) в базе данных. –