起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 217|回复: 15

【结贴】[请求]DataGrid中显示图片的一个奇怪问题

[复制链接]
发表于 2008-6-4 15:35:03 | 显示全部楼层 |阅读模式
DataSetBroker为DataGrid的数据源,现在令SQLDataSet := TSQLDataSet(DataSetBroker.DataSet);

然后改写SQLDataSet.SQL.Text,这个时候如果是一个简单的SQL语句,则原来表中的二进制流(图片)字段正常,DataGrid中可以正常显示图片,如果是一个比较复杂的SQL语句,比如有嵌套之类的,则原来表中的二进制流(图片)字段显示不正常,变成了乱码

请求答复,这是怎么回事,有没有什么办法避免
回复

使用道具 举报

发表于 2008-6-4 16:04:29 | 显示全部楼层
你这个复杂的sql语句是什么呢?直接把你这个复杂sql放到一个标准数据集中 看看,得到的数据是否有问题呢?
我刚才大概测试了下,赋值后修改sql(select * from a where a.id in(select id from b))是可以的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 16:27:10 | 显示全部楼层
最初由 zfang 发布
[B]你这个复杂的sql语句是什么呢?直接把你这个复杂sql放到一个标准数据集中 看看,得到的数据是否有问题呢?
我刚才大概测试了下,赋值后修改sql(select * from a where a...

以下省略...... [/B]


zfang 刚才按照你说的试了下 看起来不是DataGrid显示数据的问题 而是根本得不到用来存储图片的格式为二进制流的这个字段

但是我仔细检查了我的sql语句 用的都是select * 的形式 按理说是不应该有这种漏掉一个字段的情况的
回复 支持 反对

使用道具 举报

发表于 2008-6-4 16:29:43 | 显示全部楼层
恩,具体你再看看,因为我试验了,没有问题的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 16:39:58 | 显示全部楼层
最初由 zfang 发布
[B]恩,具体你再看看,因为我试验了,没有问题的。 [/B]



你试过的也是包括二进制流图片格式字段的数据表吗
这个问题我就不重新开贴了,就继续接在这里吧
我也再试试看,有什么问题我会在这里问的

如果你们以前遇到过这样的情况,或者在这方面有什么发现的话 麻烦他也在这里告知一下 谢谢
回复 支持 反对

使用道具 举报

发表于 2008-6-4 16:41:12 | 显示全部楼层
对,我的就是有图片的。
回复 支持 反对

使用道具 举报

发表于 2008-6-4 16:44:25 | 显示全部楼层
我的做法是,a数据集(含图片,二进制流字段的数据集),用Datagrid来表现,然后定义了b,它是一个TSQLDataSet类型的变量。然后代码赋值
b := a;
然后动态的修改datagrid的数据源为b
然后再把b.sql.text修改成一个2楼说的,然后再看(b.close/b.open),没有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 16:45:30 | 显示全部楼层
最初由 zfang 发布
[B]对,我的就是有图片的。 [/B]



我这边试了还是不行啊 包含图片的那个字段就好像蒸发了一样 怎么都找不到了 不论是测试情况下还是实际使用的情况下 那个字段都好像消失了一样
回复 支持 反对

使用道具 举报

发表于 2008-6-4 16:59:23 | 显示全部楼层
哦,你datagrid是不是用的默认字段?别用默认字段看看呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 17:01:55 | 显示全部楼层
最初由 zfang 发布
[B]哦,你datagrid是不是用的默认字段?别用默认字段看看呢。 [/B]


哦 刚才那个好了,字段可以看见了,但是还是跟刚开始说的那个一样子,图片字段没法显示出图片
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-14 11:30 , Processed in 0.046395 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表