Foxtable(狐表)用户栏目专家坐堂 → 求助,关于二进制列


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

主题:求助,关于二进制列

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


加好友 发短信
等级:五尾狐 帖子:1196 积分:7051 威望:0 精华:0 注册:2013/3/4 18:02:00
求助,关于二进制列  发帖心情 Post By:2017/6/28 16:23:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt

代码发不出来,用附件

问题出错在用SQLCOMMAND出来的表,用SQLINSERTFILE的方式更新不了二进制列,估计是提到前台表的原因
那么用UPDATE的方式更新要如何做呢?

[此贴子已经被作者于2017/6/28 16:26:36编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1196 积分:7051 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2017/6/28 16:27:00 [只看该作者]


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


加好友 发短信
等级:五尾狐 帖子:1196 积分:7051 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2017/6/28 16:29:00 [只看该作者]

Dim dr As DataRow = Tables("职员信息管理_职员信息表").Current.DataRow
If dr IsNot Nothing
    Dim dlg As New OpenFileDialog
    dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
    If dlg.ShowDialog = DialogResult.OK Then
        dr.SQLInsertFile("photo",dlg.FileName) '插入文件
        Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1")
        pic.Image = GetImage(dlg.FileName)
        Dim cmd As New SQLCommand
        cmd.C
        cmd.CommandText = "select * fr om {职员信息表} where sysid = '" & dr("SysId") & "'"
        Dim ct As DataTable = cmd.ExecuteReader
        Dim cr As DataRow = ct.Find("SysId= '" & dr("SysId") & "'")
        cr.SQLInsertFile("photo",dlg.FileName)        
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/28 16:35:00 [只看该作者]

Dim ct As DataTable = cmd.ExecuteReader(true)

 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1196 积分:7051 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2017/6/28 16:50:00 [只看该作者]

以下是引用有点蓝在2017/6/28 16:35:00的发言:
Dim ct As DataTable = cmd.ExecuteReader(true)
没用的,试过了,因为cmd出来的表是临时表,用SQL的方式不行,提示没有datatable


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/28 17:16:00 [只看该作者]

sql更新用这种方式:

Dim dr As DataRow = Tables("职员信息管理_职员信息表").Current.DataRow
If dr IsNot Nothing
    Dim dlg As New OpenFileDialog
    dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
    If dlg.ShowDialog = DialogResult.OK Then
        dr.SQLInsertFile("photo",dlg.FileName) '插入文件
        Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1")
        Dim imgStream As New IO.MemoryStream
        Dim b As New Bitmap(pic.Image)
        b.Save(imgStream, System.Drawing.Imaging.ImageFormat.Jpeg)
        Dim data As Byte() = imgStream.GetBuffer
        imgStream.Dispose()
        Dim conn As New System.Data.SqlClient.SqlConnection("server=localhost;database=test;Integrated Security=true;") '改为自己的连接字符串
        conn.Open()
        Dim sqlcomm As New System.Data.SqlClient.SqlCommand
        sqlcomm.Connection = conn
        sqlcomm.CommandText = "UPDATE [职员信息表] SET [photo] = @photo WHERE [sysid] = @sysid "
        sqlcomm.Parameters.Add("@photo", System.Data.SqlDbType.Image).Value = data
        sqlcomm.Parameters.Add("@sysid", System.Data.SqlDbType.NVarChar).Value =  dr("SysId")
        sqlcomm.ExecuteNonQuery()
        conn.Close()
        
    End If
End If

不然就加载表进来用吧

 回到顶部