【发布时间】:2012-03-22 15:32:27
【问题描述】:
我一直在尝试使用下面的代码将存储在 varbinary mssql 列中的图像数据加载到 TImage 组件,但它给出了错误
用 Query_Refresh 做 开始 关闭; 打开; 如果 RecordCount > 0 那么 开始 //编辑以允许字段的流式传输 编辑; //MyStream 是 TStream 类型 MyStream := CreateBlobStream(FieldByName('MyBlobField'),bmWrite); //加载到图像---错误发生在下面的行 MyImage.Picture.Graphic.LoadFromStream(MyStream); 结尾; 结尾;错误是访问冲突......
请有人帮忙解决这个问题
【问题讨论】:
-
访问冲突,意味着你试图访问一个不存在的对象。错误发生在哪一行? FieldByName('MyBlobField') 返回 MyBLobField 的实例?我建议你删除你的“with Query_Refresh do”,它会使调试更加困难。
-
首先,我将去掉
with语句并用解释变量替换它。访问冲突发生在哪一行? -
尝试将 TStream 加载到 Timage 对象时发生错误
-
@Ceasar MyBlobField 只是数据库中 varbinary 字段的名称
-
不应该是bmRead而不是bmWrite吗?
标签: delphi