0

您好我目前正在开发一个系统(vb.Net)。这是场景,我有文本框、图片框和列表视图,当我从列表视图中单击一行时,它将填充文本框和图片框(例如用户详细信息和她/他的 ID 图片),但是当我单击下一个时行,只有文本框会改变它的值,但图片框上的图像不会改变..这是我的部分工作代码:

Try
    If lvUsrProf.SelectedItems.Count > 0 Then
        ''Call userImage()
        Dim adptr As New MySqlDataAdapter
        Dim tbl As DataTable
        Dim commbuild As MySqlCommandBuilder
        'Dim uID As Integer

        adptr.SelectCommand = cmd
        tbl = New DataTable
        adptr = New MySqlDataAdapter("SELECT  pic_image FROM userprofile", uCon)
        commbuild = New MySqlCommandBuilder(adptr)
        adptr.Fill(tbl)
        Dim lb() As Byte = tbl.Rows(0).Item("pic_image")
        Dim lstr As New System.IO.MemoryStream(lb)
        pboxID.Image = Image.FromStream(lstr)
        lstr.Close()

        txtIdNo.Text = lvUsrProf.SelectedItems(0).SubItems(0).Text
        txtName.Text = lvUsrProf.SelectedItems(0).SubItems(1).Text
        txtLstNam.Text = lvUsrProf.SelectedItems(0).SubItems(2).Text
        cboDept.Text = lvUsrProf.SelectedItems(0).SubItems(3).Text
        txtPOs.Text = lvUsrProf.SelectedItems(0).SubItems(4).Text
        txtCont.Text = lvUsrProf.SelectedItems(0).SubItems(5).Text
        txtEmail.Text = lvUsrProf.SelectedItems(0).SubItems(6).Text
        'pboxID.SizeMode = PictureBoxSizeMode.CenterImage
    End If
Catch ex As Exception
    MsgBox(ex.Message)
Finally
    uCon.Close()
End Try

您的绝妙想法和建议将不胜感激!.. Maraming Salamat!

4

1 回答 1

0

看起来您正在从表 userprofile 中获取所有图像。然后,对于您所做的每个选择,您都选择该结果中的第一个项目。此图像将始终相同,因为您没有在选择中使用 where 子句。尝试添加如下内容:

WHERE ID = lvUsrProf.SelectedItems(0).SubItems(0).Text

这应该只为您获取一张图像,并且它应该是连接到所选帐户的图像。

于 2013-10-21T07:10:33.907 回答