vb.net读取mssql的image字段后,如何转换成二进制

huwenbin21 2024-07-03 15:04:49

mssql数据库字段是image(数据格式),用代码读取出来:

     Dim cmd As String = "select * from spimg where Banks='" & MainForm.Banks & "' and  UsName='" & Trim(TD19.Text).Split("、")(s) & "'"
                                Dim myComm As SqlCommand = New SqlCommand(cmd, conn)
                                Dim dr As SqlDataReader = myComm.ExecuteReader
                                If dr.Read Then

dr("Img") 读取字段

                                End If
                                dr.Close()

读取出来以后,怎么转换成void LoadFromMemory(byte *pBuffer, int ByteCount) 二进制字段?

...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
java 猿 07-08
  • 打赏
  • 举报
回复

要将读取到的 image 数据格式转换成可以传递给 LoadFromMemory 方法的二进制数据,需要将读取到的 image 数据转换为字节数组,并传递给 LoadFromMemory 方法。

Dim cmd As String = "select * from spimg where Banks='" & MainForm.Banks & "' and UsName='" & Trim(TD19.Text).Split("、")(s) & "'"
Dim myComm As SqlCommand = New SqlCommand(cmd, conn)
Dim dr As SqlDataReader = myComm.ExecuteReader
If dr.Read Then
    Dim imgData As Byte() = CType(dr("Img"), Byte())
    LoadFromMemory(imgData, imgData.Length)
End If
dr.Close()


  • 打赏
  • 举报
回复
If dr.Read() Then
    ' 读取image字段为Byte数组
    Dim imgData As Byte() = DirectCast(dr("Img"), Byte())
    
    ' 假设你有一个方法 LoadFromMemory 接受 byte[] 参数
    ' 调用该方法并传入 imgData
    ' 注意:这里假设 LoadFromMemory 是你项目中的一个方法,其签名需要是接受byte[]的
    ' LoadFromMemory(imgData)
End If
dr.Close()
huwenbin21 07-08
  • 举报
回复
@只吹45°风 我要把数据库的image字段传入到一个报表中去。这是官方给的方式(从本地读取): Dim fs As FileStream = File.OpenRead(Utility.GetReportDataPath() + "Picture\Butterfly08.jpg") Dim br As BinaryReader = New BinaryReader(fs) Dim buffer() As Byte = New Byte(fs.Length) {} br.Read(buffer, 0, fs.Length) Report.ControlByName("MemoryPictureBox").AsPictureBox.LoadFromMemory(buffer(0), System.Convert.ToUInt32(buffer.Length)) 官方给的方式没有从数据库读取的版本。
  • 打赏
  • 举报
回复

你要获得图片的byte数组形式是做什么呢?

huwenbin21 07-08
  • 举报
回复
@太空漫步11 第三方插件的格式
  • 打赏
  • 举报
回复

111123467

16,715

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧