为什么显示不出图像?(20分)

  • 主题发起人 主题发起人 lbd88488848
  • 开始时间 开始时间
L

lbd88488848

Unregistered / Unconfirmed
GUEST, unregistred user!
var oc,sql:variant;
begin
oc:=createoleobject('adodb.connection');
sql:=oconn.execute('select top 1 * from phototable');
if not sql.eof then
begin
在此处得到图像为sql.fields['photo'].value但显示出来的不是图像.
end
end;
我使用adoquery控件得到的adoquery1.fieldvalues['photo']却可以显示图像。
请问这是为何,如果不使用adoquery,而使用上面的方法,如何才能正确地显示图像。
谢谢!
 
你可以用DBImage来
 
我使用adoquery已经可以实现,但我想问一下为什么使用第一种方法,取同样值却出现不同效果。
我的photo字段为sql server 的image类型
 
这个问题是因为DBimage仅支持BMP文件,添加后已经提交,但
无法显示,请将数据转换成流或者使用三方控件 。
 
先存成临时文件,再显示应该没问题。
tblobfield(sql.fields['photo']).savetofile('c:/temp.jpg');
 
不能使用blobfield(sql.fields['photo']),sql.fields['photo']类型不明
 
前面还有个T啊!
tblobfield(sql.fields['photo']).savetofile('c:/temp.jpg');
 
我就是使用tblobfield可delphi出错提示:invalid typecast
将其改成tblobfield(byte(sql.field['photo']).savetofile('c:/temp.jpg');或
tblobfield(string(sql.field['photo']).savetofile('c:/temp.jpg');
系统是不出错,但运行后,系统没有生成temp.jpg文件.
请各位指教!

 
up一下,有谁知道!
 
石沉大海有谁怜
 
后退
顶部