栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将图像存储到数据库Blob;从数据库检索到Picturebox

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将图像存储到数据库Blob;从数据库检索到Picturebox

好吧,既然没有帮助,我就解决了这个问题,终于使它起作用了。这是我的工作代码。

从Picturebox中保存到MySQL(pbPicture)

    Dim filename As String = txtName.Text + ".jpg"    Dim FileSize As UInt32    conn.Close()    Dim mstream As New System.IO.MemoryStream()    PbPicture.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)    Dim arrImage() As Byte = mstream.GetBuffer()    FileSize = mstream.Length    Dim sqlcmd As New MySqlCommand    Dim sql As String    mstream.Close()    sql = "insert into [your table]  (picture, filename, filesize)          VALUES(@File, @FileName, @FileSize)"    Try        conn.Open()        With sqlcmd .CommandText = sql .Connection = conn .Parameters.AddWithValue("@FileName", filename) .Parameters.AddWithValue("@FileSize", FileSize) .Parameters.AddWithValue("@File", arrImage) .ExecuteNonQuery()        End With    Catch ex As Exception        MsgBox(ex.Message)    Finally        conn.Close()    End Try

从MySQL db加载回到Picturebox

   Dim adapter As New MySqlDataAdapter    adapter.SelectCommand = Cmd    data = New DataTable    adapter = New MySqlDataAdapter("select picture from [yourtable]", conn)

NOTE!! can only put one picture in picturebox so obviously this query can only
return one record for you

    commandbuild = New MySqlCommandBuilder(adapter)    adapter.Fill(data)    Dim lb() As Byte = data.Rows(0).Item("picture")    Dim lstr As New System.IO.MemoryStream(lb)    PbPicture.Image = Image.FromStream(lstr)    PbPicture.SizeMode = PictureBoxSizeMode.StretchImage    lstr.Close()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号