喜欢DELPHI的都看过来,帮我解决一个问题

ruisheng 2001-08-31 09:07:19
我有以下程序
var
Stream1: TBlobStream;
begin
DM.Query1.Close;
DM.Query1.SQL.Clear;
sql1 := 'select * from gz_test_gzs';
DM.Query1.SQL.Add(sql1);
DM.Query1.Open;
DM.Query1.First;
stream1 := TBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);
RichEdit1.Lines.LoadFromStream(stream1);
stream1.Free;
end;
能够正确运行,但Query1换成ADOQuery1后出错,错误原因大概在
DM.Query1.FieldByName('gzs_rr')as TBlobField这里
应该怎么解决啊
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruisheng 2001-08-31
  • 打赏
  • 举报
回复
谢谢各位,我已经解决了。不过我发现TBlobStream和TADOBlobStream有一个区别:
我在Oracle8定义了一个字段为varchar2类型,用TBlobStream能访问,但用TADOBlobStream
不能访问,只能改为LONG型了。
netyjynixa 2001-08-31
  • 打赏
  • 举报
回复
i agree up
machin 2001-08-31
  • 打赏
  • 举报
回复

stream1 := TADOBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);

我也是这么做的。
shift 2001-08-31
  • 打赏
  • 举报
回复
chechy(chechy)说得没错,将Query1换成ADOQuery1后要将TBlobStream.Create换成TADOBlobStream.Create,道理其实很很简单,不用说你也会明了.
chechy 2001-08-31
  • 打赏
  • 举报
回复
将这句
stream1 := TBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);
改为
stream1 := TADOBlobStream.Create(DM.Query1.FieldByName('gzs_rr')as TBlobField,bmRead);

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧