如何将 PictureBox 图像保存和检索到 Sql Server 数据库 Varbinary(Max) 列 VB.NET

2024-02-15

在我的Windows应用程序中,我必须在Windows窗体PictureBox中显示图像,该图像将通过OpenFile对话框浏览,然后将PictureBox图像保存到Sql Server 2008 R2 Varbinary(Max)列并显示保存在Sql Server 2008 R2 Varbinary(Max)列中的图片使用 VB.NET 2010 到 PictureBox。

我使用以下代码将图片从物理驱动器加载到 PictureBox

    Private Sub btnPicBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPicBrowse.Click
    With Me.OpenFileDialog1
        .FileName = ""
        .Filter = "Image Files(*.BMP;*.JPG;*.JEPG;*.GIF)|*.BMP;*.JPG;*.JEPG;*.GIF|All files (*.*)|*.*"
        .RestoreDirectory = True
        .ValidateNames = True
        .CheckFileExists = True
        If .ShowDialog = Windows.Forms.DialogResult.OK Then
            Me.PictureBox1.Image.Dispose()
            Me.PictureBox1.Image = System.Drawing.Image.FromFile(.FileName)
            Me.lblPicPath.Text = .FileName
        End If
    End With
End Sub

现在我必须将此图像保存到 SQL SERVER 2008 数据库 VarBinary (MAX) 列,然后使用 VB.NET 2010 将 Sql Server 2008 R2 Varbinary(Max) 列中保存的图片显示到 PictureBox。

感谢和问候

乔蒂莫伊


不久前在 youtube 上发现了一些很酷的方法,您创建一个函数来接收图片并将其转换为字节并将其保存到 SQLServer DB 中的字节,当您检索它时它将显示在图片框中。这是实现它的代码,并告诉我它是否有效...如果它确实投票给我的答案,请:

 Public Function ConvertImage(ByVal myImage As Image) As Byte()

    Dim mstream As New MemoryStream
    myImage.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)

    Dim myBytes(mstream.Length - 1) As Byte
    mstream.Position = 0

    mstream.Read(myBytes, 0, mstream.Length)

    Return myBytes

End Function


因此,如果您使用存储过程进行保存,只需将图片框中的图像作为参数传递,例如 pictureBox User.Image

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 PictureBox 图像保存和检索到 Sql Server 数据库 Varbinary(Max) 列 VB.NET 的相关文章

  • 将 5 gig 文件导入表时出错

    我正在尝试批量插入表 use SalesDWH go BULK INSERT dbo npi FROM S tmp npi csv WITH FIELDTERMINATOR ROWTERMINATOR n lastrow 200 first
  • 为什么MERGE语句的目标表不允许启用规则?

    我们有一个使用以下 SQL 更新数据库的过程 IF NOT EXISTS SELECT FROM Target Table WHERE Target Table ID BEGIN INSERT END ELSE BEGIN UPDATE E
  • 从 URL 生成报告 - SQL Server Reporting Services 2008

    我有 SQL Server Reporting Services 2008 当我打开以下 URL 时 http localhost Reports Pages Report aspx someReport 我正在进入报告屏幕 在其中填写参数
  • sql中的拓扑排序

    我正在解决表中某些对象之间的依赖关系 我必须对对象做一些事情来排序它们的依赖性 例如 第一个对象不依赖于任何对象 第二个和第三个取决于第一个 依此类推 我必须使用拓扑排序 http en wikipedia org wiki Topolog
  • 从另一个表中选择范围之间的记录

    我有两张桌子 比如说Table1 and Table2 Table1 ID RN 11 1 12 2 13 3 14 4 15 5 16 6 17 7 18 8 19 9 10 10 Table2 ID FromRN ToRN 1 1 3
  • 如何每行输出 7 条记录,一周中的每一天输出 1 条记录?

    试图在这里节省大量的数据输入 我目前有以下输出 CONTID DESCR 001 Area 1 001 Area 2 001 Area 3 我想要做的是为每个 DESCR 区域 输出 7 条记录 一周中的每一天输出 1 条记录 相应地为 0
  • 在 ms-sql 中查找最近的位置

    我将这些参数发送给我的脚本 纬度 41 0186 经度 28 964701 它是示例 我想找到最近的位置的名称 这个怎么做 查询必须更改代码的位置 sql查询 SELECT Name FROM Location WHERE Latitude
  • 如何增加每次 INSERT INTO 迭代的值?

    我有一个查询 如下所示 第 1 列位于 另一列是 varchar 100 INSERT INTO TABLE1 column1 column2 SELECT MAX column1 FROM TABLE1 1 anotherColumn F
  • 表值函数降低了我的查询性能

    今天我在尝试让查询按照我期望的方式执行时经历了一段可怕的时光 我不得不对昨天查询中的表值函数进行轻微更改 该更改对查询产生了巨大的性能影响 在评估执行计划并查看统计 IO 和时间后 我发现因为我更改了函数以返回表变量而不仅仅是结果集 所以它
  • 到命名实例的 Sql 连接字符串

    我可以在示例代码项目中使用它连接到我的 sql server 2008 开发人员服务器 string connection data source SQLSERVER2008 Integrated Security SSPI Initial
  • 如何遍历与自身有关系的表?

    我有一个如下表 Node Id Node Name Parent Node Id 1 Root 0 2 Node1 1 3 Node2 1 4 Node3 2 5 Node4 2 6 Node5 5 7 Node6 5 8 Node7 7
  • 对存储过程内容的只读访问

    是否可以设置 SQL Server 来为开发人员提供对生产数据库上存储过程内容的只读访问权限 您可以授予他们VIEW DEFINITION这些进程的特权 See here http msdn microsoft com en us libr
  • 限制 SQL Server 连接到特定 IP 地址

    我想将 SQL Server 实例的连接限制为特定 IP 地址 我想阻止来自除特定列表之外的任何 IP 地址的任何连接 这是可以在 SQL Server 实例或数据库中配置的东西吗 听起来像是你会使用Windows防火墙 http tech
  • 如何避免使用 Cursor 来实现此伪代码 - SQL Server

    CREATE PROCEDURE p processDataFor accountId BEGIN for each item in select from Accounts where accountId accountId and is
  • 检查用户是否存在于 Active Directory 中

    我正在使用 vb net 我想检查 Active Directory 中是否存在特定用户 如果是 我想显示特定用户的详细信息 怎么做 用户登录凭据通过文本框控件传递 My code Dim de As DirectoryEntry GetD
  • Sql Server 2008 NVARCHAR 长度-1

    如果长度为 1 这意味着什么 这是我的 tbl 结构 Name nvarchar no 1 正如 JNK 在评论中指出的那样 这意味着MAX Name NVARCHAR MAX 来自MSDN http msdn microsoft com
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • 为什么使用 SQL Server 2008 地理数据类型?

    我正在重新设计客户数据库 我想要与标准地址字段 街道 城市等 一起存储的新信息之一是地址的地理位置 我想到的唯一用例是 当无法找到地址时 允许用户在 Google 地图上绘制坐标 这种情况通常发生在该地区是新开发的或位于偏远 农村地区时 我
  • 按空值和非空值分组

    我有一个包含用户 facebook ID 的表 我必须报告谁在使用 facebook 或不使用 对于 facebook 用户 数据行包含一个数字 否则包含 null 我的结果必须是这样的 NbUsers Facebook 1000 no 5
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也

随机推荐