Foxtable(狐表)用户栏目专家坐堂 → PositionChanged事件里这样写代码有问题吗?


  共有2427人关注过本帖树形打印复制链接

主题:PositionChanged事件里这样写代码有问题吗?

帅哥哟,离线,有人找我吗?
goldenfont
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
PositionChanged事件里这样写代码有问题吗?  发帖心情 Post By:2020/3/23 10:25:00 [只看该作者]

数据库中字段存放的是base64字符,然后切换记录时显示对应的图片
'+++++++根据当前记录显示数据库中的图片++++++++++++++++
If e.Table.Cols.Contains("产品编号") Then
    Dim cmd As New SQLCommand
    cmd.C
    cmd.CommandText = "s elect 示意图 from ZL_SKU where SKU编码='" & cur("产品编号") & "'"
    If cmd.ExecuteScalar <> "" Then
        e.Form.Controls("PictureBox1").Image = Functions.Execute("Base64ToImage",cmd.ExecuteScalar)
    Else
        e.Form.Controls("PictureBox1").Image = Nothing
    End If
End If
第一次加载时会出现“未将对象引用设置到对象的实例。”关掉就好了,这是什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/23 11:23:00 [只看该作者]

二进制图片?

        Dim cmd As new SQLCommand
        cmd.ConnectionName = "xxx"
        cmd.CommandText="s elect 示意图 from ZL_SKU where SKU编码='" & cur("产品编号") & "'"
        Dim dt As DataTable = cmd.ExecuteReader
        Dim src As String
        If dt.DataRows.Count >0 Then
            Dim imagebytes As Byte() = dt.DataRows(0)("示意图")
Dim stream As System.IO.Stream = New System.IO.MemoryStream(imagebytes)
Dim bmp As System.Drawing.Bitmap = New System.Drawing.Bitmap(stream)
e.Form.Controls("PictureBox1").Image = bmp
        End If

 回到顶部
帅哥哟,离线,有人找我吗?
goldenfont
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2020/3/23 12:11:00 [只看该作者]

不是二进制图片,是base64的字符串
Dim bs As Byte() = Convert.FromBase64String(base64)
Dim stream As System.IO.Stream = New System.IO.MemoryStream(bs)
Return Image.FromStream(stream,False)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/23 14:21:00 [只看该作者]

If e.Table.Cols.Contains("产品编号") Then
    Dim cmd As New SQLCommand
    cmd.C
    cmd.CommandText = "s elect 示意图 from ZL_SKU where SKU编码='" & cur("产品编号") & "'"
dim str as string = cmd.ExecuteScalar 
    If str > "" Then
        e.Form.Controls("PictureBox1").Image = Functions.Execute("Base64ToImage",str)
    Else
        e.Form.Controls("PictureBox1").Image = Nothing
    End If
End If

 回到顶部