首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从数据库检索照片到PictureBox

从数据库检索照片到PictureBox
EN

Stack Overflow用户
提问于 2017-10-05 15:10:04
回答 1查看 260关注 0票数 0

我有一个2 WinForms的WinForms项目。在表格1中,我添加了一个PictureBox,一个按钮,一个OpenFileDialog。我编写了按钮,将图片从PictureBox添加到sql数据库。现在我有了另一个表格2的图片框。

因此,我的问题是,如何从sql数据库检索图像并在图片框中显示?

连接字符串如下:

代码语言:javascript
复制
Dim con As New SqlConnection
con.ConnectionString = "Data source=" & My.Settings.sqlserver & "," & My.Settings.sqlport &
                       ";Network Library=DBMSSOCN;initial catalog=" & My.Settings.dbname & 
                       ";User id=" & My.Settings.Username &
                       ";Password=" & My.Settings.Password & ";"
Dim cmd As New SqlCommand("select * from userandadmins where Username = @username and Password = @password", con)
con.Open()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-05 16:31:10

我用甲骨文存储照片。您需要使用与照片存储的字段相同类型的out参数检索照片。我猜是个小斑点。在将照片存储在数据库中之前,必须将其转换为字节数组。由于这不是问题所在,我将发布用于从Oracle数据库检索照片的代码,将其转换为Server代码应该是一件简单的事情。

我打开到数据库的连接并将其传递给检索函数。我返回一个数据集,其中包含一行数据、照片和其他标识信息。然后我将BLOB分配给一个变量,从那里执行您需要的操作。我所做的就是将它分配给一个图像控件,该控件调用另一个aspx页面来检索照片(imageURL)。检索它的代码位于名为"Image.aspx“的代码中,然后该代码将照片返回到图像控件。该函数的html位于GetPhoto函数下面。这样,我就不需要将照片存储在硬盘上的任何地方,并检索它。

代码语言:javascript
复制
Dim MyConnection As New OracleConnection
Dim MyDataSet As New DataSet
Dim MyPhoto() As Byte = {}

MyConnection = OpenConnection(Session("USERNAME"), Session("PASSWORD"))

MyDataSet = GetPhoto(MyConnection, pPhotoID)

myPhoto = MyDataSet.Tables("Data").Rows(0)("Photo")

Public Function GetPhoto(ByVal TheConnection As OracleConnection, ByVal pPhotoID As String) As DataSet
    Dim myCommand As New OracleCommand
    Dim DS As New DataSet
    Try
        With myCommand
            .Connection = TheConnection
            .CommandText = "Darlington.PlayerSignUps.GetPhoto"
            .CommandType = CommandType.StoredProcedure
            .Parameters.Clear()
            .Parameters.Add(New OracleParameter("pPhotoID", OracleDbType.Varchar2, pPlayerID.Length)).Value = pPhotoID 
            .Parameters.Add(New OracleParameter("pDataOut", OracleDbType.RefCursor))
            .Parameters(0).Direction = ParameterDirection.Input
            .Parameters(1).Direction = ParameterDirection.Output
            Dim DA As New OracleDataAdapter(myCommand)
            DA.Fill(DS, "DATA")
            GetPhoto = DS
        End With
    Catch exc As Exception
        Throw New Exception("Error occured while retreiving photo from database, the error is: " & exc.Message)
    End Try
    myCommand = Nothing

End Function

<tr>
    <td style="width: 372px; text-align: center">
        <asp:Image ID="Image_Photo" runat="server" ImageUrl="Image.aspx" />
    </td>
</tr>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46589057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档