将位图存储到 sql

Storing bitmap into sql

我正在编写一个用于打印帐单的应用程序。我在加载数据时有一个表单。我想自动打印,所以按照这个顺序我保存了我填写的表格的 bmp 图像,然后存储到 mdf 数据库中用于后期打印每个 row/cell(在本例中为图像)。但是当我将我的 table 拖到预览表单中时(如果我正确存储数据只是为了 chek)每行的 id 出现,但我看不到该行的图像......问题是:我是什么这里做错了吗? (过去 3 天我看了很多教程,但我还不知道该怎么做)

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

感谢@Der Golem 和@Lars Tech (Plutonix) 的精彩回答。通过这种方式,我已经实现了一半的目标:

    Public Sub toBitMap(ByVal indice)
    '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))
    'definicion de nombre y path para archivos temporales
    Dim tempImageName As String = "tmp" & indice & ".png"
    Dim tmpImageAbsolutePath As String = Application.StartupPath & _  
    "\data\" & tempImageName
    'Creacion de nuevo png
    miBitMap.Save(tmpImageAbsolutePath, ImageFormat.Png)
    'Carga de paths a la base
    Dim saveImage As imagenesTableAdapter = New imagenesTableAdapter
    Dim a As String = saveImage.Insert(tempImageName)
    If indice <= 1 Then
        cantidad = saveImage.ScalarQuery()
    End If
End Sub

现在我只清理 tmp 文件夹和数据库。

**只需要知道如何将这些文件(图片)转换为 pdf 进行打印,但我有 google! :D