以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助,拍照直接插入数据库二进制列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84961) |
-- 作者:晕了快扶我 -- 发布时间:2016/5/13 21:15:00 -- 求助,拍照直接插入数据库二进制列 Dim c As new camera Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1") Dim dr As DataRow = Tables("职员信息管理_职员信息表").Current.DataRow c.Capture() \'开始照相 If c.image IsNot Nothing Then \'照相成功 pic.Image = c.Image dr.SQLInsertFile("photo",pic.ImageFile) End If 红色的出错了,文件名应该写什么?帮助里也没有 |
-- 作者:晕了快扶我 -- 发布时间:2016/5/14 0:02:00 -- ![]() |
-- 作者:qianqian1530 -- 发布时间:2016/5/14 9:32:00 -- 这是肯定低. |
-- 作者:Hyphen -- 发布时间:2016/5/14 10:15:00 -- 是的,参数只接受文件路径 |
-- 作者:晕了快扶我 -- 发布时间:2016/5/14 13:40:00 -- 我也是醉了,这个本来可以一次性搞完的 |
-- 作者:Hyphen -- 发布时间:2016/5/14 14:39:00 -- 自己写代码操作 Dim imgStream As New IO.MemoryStream Dim PictureBox1 As WinForm.PictureBox = e.Form.Controls("PictureBox1") Dim b As New Bitmap(PictureBox1.Image) b.Save(imgStream, System.Drawing.Imaging.ImageFormat.Jpeg) Dim data As Byte() = imgStream.GetBuffer imgStream.Dispose() Dim conn As New System.Data.SqlClient.SqlConn ection("server=localhost;database=test;Integrated Security=true;") conn.Open() Dim sqlcomm As New System.Data.SqlClient.SqlCommand sqlcomm.Connection = conn sqlcomm.CommandText = "UPD ATE [DDDDD] SET [第八列] = @第八列 WHERE [第一列] = @第一列 " sqlcomm.Parameters.Add("@第八列", System.Data.SqlDbType.Image).Value = data sqlcomm.Parameters.Add("@第一列", System.Data.SqlDbType.NVarChar).Value = "66" sqlcomm.ExecuteNonQuery() conn.Close() |
-- 作者:大红袍 -- 发布时间:2016/5/15 23:06:00 -- 还不如用代码插入
Dim ImageString As String = BitConverter.ToString(imageByte).Replace("-", "") \' SQLCommand 不能直接Insert 二进制,只能拼接SQL语句,所以这里把二进制变成字符
[此贴子已经被作者于2016/5/15 23:07:56编辑过]
|