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) 二进制字段?

...全文
1062 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
java 猿 2024-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()


只吹45°风 2024-07-04
  • 打赏
  • 举报
回复
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 2024-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)) 官方给的方式没有从数据库读取的版本。
太空漫步11 2024-07-04
  • 打赏
  • 举报
回复

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

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

111123467

源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 ### Home Bus 协议概述 Home Bus协议,亦被称为家庭总线协议,是由日本研发的一种专门应用于家庭自动化领域的通信标准。该协议在商用空调及其他家用电器的远程操控方面具备广泛的应用范围。借助Home Bus协议,设备之间能够达成高效的通信,使用户能够更加便利地监管家庭中的各类智能设备。 ### ECHONET协议及其背景 Home Bus协议与ECHONET协议存在紧密的联系,实际上,ECHONET代表了一种更为具体的技术规范,其目的在于为家庭自动化领域构建一个开放且统一的通信标准。ECHONET由ECHONET财团负责维护与支持,该组织致力于推动该协议的进步与标准化进程。ECHONET协议的应用范围不仅限于家庭环境,还包括了楼宇自动化以及工业自动化等多个领域。 #### ECHONET的历史版本及修订记录 - **Version 1.0**:发布于2000年3月18日,同年7月对联盟成员公开,最终于同年对公众发布。 - **Version 1.01**:在2001年5月23日,向联盟成员发布,主要进行了补充和勘误工作。 - **Version 2.00**:2001年8月7日,针对联盟成员发布。此版本中将电源线A和电源线B两种方式合并为单一电源线方式(基于电源线A),并对相关描述进行了调整。 - **Version 2.01**:2001年11月9日,进行了一些必要的修正,包括排版错误的修正、术语的标准化等。 - **Version 2.10**:经历预览版和草案阶段后,于2002年3月7日正式对联盟成员开放。此次更新主要涉及第3部分关于状态转换的描述修改。 -...

16,717

社区成员

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

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