以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于二进制列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105835) |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:06:00 -- 关于二进制列 我在公司ERP里用分布式查询组合了一个库存表,里面有一列图片的二进制列,现在我想在窗口中放一个按钮, 将库存表查进窗口Table1里,然后点商品ID列,可以弹出图片,但现在查询是没有问题,但显示图片会出现 未将对象引用到……的错误,请教为什么? |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:08:00 -- Dim s As String = "Provider=SQLOLEDB.1;Password=369.;Persist Security Info=True;User ID=by;Initial Catalog=自动报表系统;Data Source=226.121.846.110" If Connections.Contains("byfind") Then Connections.Delete("byfind") End If If Connections.TryConnect(s) = True Then Connections.Add("byfind",s) Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SE L ECT TOP 10 部门名称,地区名称,商品ID,库存数量,库存金额,商品编码,商品名称,条码,规格,产地,品牌,库存成本单价,成本价格段,商品大类,商品分类,五级分类,库龄,地区,自营与代销,零售价 FR OM 带零售价商品库存2017年" dt = cmd.ExecuteReader If dt.DataRows.Count>0 Then Tables("测试_Table1").DataSource = dt Else MessageBox.show("无法获取数据,请手动输入","提示!") End If Else MessageBox.show("无法连接数据源,请手动输入","提示!") End If
|
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:09:00 -- 查询按钮的代码,这个是可以顺利执行将表查询进来的 |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:09:00 -- Dim dr As Row = Tables("测试_Table1").Current If dr IsNot Nothing Then If Forms("图片").Opened Then \'如果窗口已经打开 Dim pbx As WinForm.PictureBox = Forms("图片").Controls("PictureBox1") If dr Is Nothing Then pbx.Image = Nothing Else Dim val As String val = dr.DataRow.SQLGetValue("商品图片") msgbox(Val) pbx.Image = dr.DataRow.SQlLoadImage("商品图片") \'从后台提取照片并显示 End If End If End If currentChanged 事件代码,就是执行这个会错了
|
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:10:00 -- doubleclick 代码 If e.Col.Name ="商品ID" Then e.Cancel=True Forms("图片").open End If |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:11:00 -- 图片窗口 afterload 的代码 Tables("测试_Table1").RaiseCurrentChanged() \'强行触发CurrentChanged事件
|
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:12:00 -- 错误提示是:未将对象引用设置到对象的实例 |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:16:00 -- 对了那个库存表我是用视图的形式,是不是因为这个不能用.SQlLoadImage("商品图片") ,这个能处理吗? |
-- 作者:zhy400137 -- 发布时间:2017/8/27 12:23:00 -- val = dr.DataRow.SQLGetValue("商品图片") msgbox(Val) 这句查询出来的是空值,但我看数据库里是有数据的OX开头的二进制数据
|
-- 作者:zhy400137 -- 发布时间:2017/8/27 15:14:00 -- 顶 |