Foxtable(狐表)用户栏目专家坐堂 → 二进制图片保存问题


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

主题:二进制图片保存问题

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


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
二进制图片保存问题  发帖心情 Post By:2019/4/2 11:50:00 [只看该作者]


此主题相关图片如下:qq截图20190402114114.png
按此在新窗口浏览图片

教工姓名 控件Enter代码
Dim str As String = ""
Dim Arys As List(Of String()) = DataTables("教工基本信息").SQLGetValues("教工姓名|教工编号")
For Each Ary As String() In Arys
    str &= IIF(Len(Ary(0)) = 2,mid(Ary(0),1,1) & "  " & mid(Ary(0),2,1),Ary(0)) & "(" & Ary(1) & ")|"
Next
e.Sender.ComboList = str.trim("|")

教工编号DataFormat代码

Dim dr As DataRow = DataTables("教工基本信息").SQLFind("教工编号 = '"& e.Text  &"'")
If dr IsNot Nothing Then
    Tables("教工基本信息").RaiseCurrentChanged()
    e.Form.Controls("教工姓名").text = dr("教工姓名")
    e.Form.Controls("手机号码").text = dr("手机号码")
    e.Form.Controls("身份证号").text = dr("身份证号")
    e.Form.Controls("党派").text = dr("党派")
    e.Form.Controls("民族").text = dr("民族")
    e.Form.Controls("学历").text = dr("学历")
    e.Form.Controls("专业").text = dr("专业")
    e.Form.Controls("毕业日期").text = dr("毕业日期")
    e.Form.Controls("毕业院校").text = dr("毕业院校")
    e.Form.Controls("资格证号码").text = dr("资格证号码")
    e.Form.Controls("职称").text = dr("职称")
    e.Form.Controls("籍贯").text = dr("籍贯")
    e.Form.Controls("家庭住址").text = dr("家庭住址")
    e.Form.Controls("照片").Image = dr.SQlLoadImage("照片") '从后台提取照片并显示
    e.Form.Controls("身份证").Image = dr.SQlLoadImage("身份证") '从后台提取照片并显示
    e.Form.Controls("资格证").Image = dr.SQlLoadImage("资格证") '从后台提取照片并显示
End If

上传照片Click代码

If Tables("教工基本信息").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("教工基本信息").Current.DataRow
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png;*pdf"
If dlg.ShowDialog = DialogResult.OK Then
    Dim pic As WinForm.PictureBox = e.Form.Controls("照片")
    dr.SQLSetValue("照片",Nothing) '从后台删除照片列内容
    pic.Image = Nothing
    dr.SQLInsertFile("照片",dlg.FileName) '插入文件
    pic.Image = GetImage(dlg.FileName)
End If

保存Click代码

Dim dr As DataRow= DataTables("教工基本信息").SQLFind("教工编号 = '" & e.Form.Controls("教工编号").Text & "'")
If dr IsNot Nothing Then
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("身份证号") = e.Form.Controls("身份证号").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr.Save()
    e.Form.Close()
End If

照片只能保存在第一行,请求老师指教,谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/2 12:02:00 [只看该作者]

 

上传照片Click代码

 

If Tables("教工基本信息").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = DataTables("教工基本信息").SQLFind("教工编号 = '" & e.Form.Controls("教工编号").Text & "'")
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png;*pdf"
If dlg.ShowDialog = DialogResult.OK Then
    Dim pic As WinForm.PictureBox = e.Form.Controls("照片")
    dr.SQLSetValue("照片",Nothing) '从后台删除照片列内容
    pic.Image = Nothing
    dr.SQLInsertFile("照片",dlg.FileName) '插入文件
    pic.Image = GetImage(dlg.FileName)

    dr.save
End If


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


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2019/4/2 12:18:00 [只看该作者]

甜老师,如果是新增行就不行了

[此贴子已经被作者于2019/4/2 12:27:41编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/2 13:03:00 [只看该作者]

以下是引用Liangcai在2019/4/2 12:18:00的发言:

甜老师,如果是新增行就不行了

[此贴子已经被作者于2019/4/2 12:27:41编辑过]

 

新增的行,你要先把行保存,才能查找和插入图片的。


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


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2019/4/2 13:12:00 [只看该作者]

保存代码是

dr = DataTables("教工基本信息").SQLFind("教工编号 = '" & e.Form.Controls("教工编号").Text & "'")
If dr Is Nothing Then
    dr = DataTables("教工基本信息").AddNew()
    Dim max As String = DataTables("教工基本信息").SQLCompute("Max(教工编号)","教工编号 Like '" & ary(2) & "%'")
    If max = "" Then
        dr("教工编号") = ary(2) & "01"
    Else
        Dim v As Integer = max.SubString(6,2)
        dr("教工编号") = ary(2) & format(v +1,"00")
    End If
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("身份证号") = e.Form.Controls("身份证号").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("身份证号") = e.Form.Controls("身份证号").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr("履历") = e.Form.Controls("履历").text
    dr("特长") = e.Form.Controls("特长").text
    dr("录入人") = _UserXingming
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
    dr.Save()
    e.Form.Close()
Else
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("身份证号") = e.Form.Controls("身份证号").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr("履历") = e.Form.Controls("履历").text
    dr("特长") = e.Form.Controls("特长").text
    dr("修改人") = _UserXingming
    dr("修改日期") = Format(Date.Now,"yyyy-MM-dd")
    dr.Save()
    e.Form.Close()
End If

能在这加代码吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/2 14:52:00 [只看该作者]

新增行之后,你已经有save了啊。也就是说,你addnew新增后,要save一下才行。

 

请具体说你的问题以及报错。


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


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2019/4/2 15:09:00 [只看该作者]

能获取照片路径吗?然后新增行

dr.SQLInsertFile("照片","C:\Users\chengdongwei\Pictures\EP1.BMP") ‘ 获取照片路径

[此贴子已经被作者于2019/4/2 15:09:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/2 15:11:00 [只看该作者]

以下是引用Liangcai在2019/4/2 15:09:00的发言:

能获取照片路径吗?然后保存

dr.SQLInsertFile("照片","C:\Users\chengdongwei\Pictures\EP1.BMP") ‘ 获取照片路径

 

你插入图片的时候,把选择的路径记录在一个textbox或label里面,需要的时候,直接引用控件的值。


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


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2019/4/3 8:29:00 [只看该作者]

好的,谢谢!

 回到顶部