怎样用Ado 的 SQL 语句存,取Access 中的图像?(50分)

  • 主题发起人 主题发起人 jimyho
  • 开始时间 开始时间
J

jimyho

Unregistered / Unconfirmed
GUEST, unregistred user!
我看过以前的记录,几乎没有用SQL来解决问题.
我用:
sFileName:='c:/abc.gif';
adoCommand1.CommandText:=
'insert into Images(FileName,Image) values ('
+ ':FileName,:Image)';
adoCommand1.Parameters.ParamByName('FileName').DataType:= ftString;
adoCommand1.Parameters.ParamByName('FileName').Value:= sFileName;
adoCommand1.Parameters.ParamByName('Image').LoadFromFile(sFileName,ftBlob{ftGraphic});
adoCommand1.Execute; //--报错 'Syntax error in INSERT INTO Statement'

不加Image,一切 OK,不知何解???????
adoCommand1.CommandText:=
'insert into Images(FileName) values ('
+ ':FileName)';
adoCommand1.Parameters.ParamByName('FileName').DataType:= ftString;
adoCommand1.Parameters.ParamByName('FileName').Value:= sFileName;
adoCommand1.Execute; //--OK
 
图像数据能这样转换吗???

图像只能转成二进制数据存在blob字段中
 
请继续指教,

Access中并无Blob字段,只有 OleContainer字段
 
>>adoCommand1.Parameters.ParamByName('Image').LoadFromFile(sFileName,ftBlob{ftGraphic});
ftBlob{ftGraphic}是什么意思,直接用ftBlob就行啦!!我用过的
 
{ftGraphic} 是注释的意思 { 。。 }
也就是说我用过 ftBlob 与 ftGraphic ,但都报错。。

 
升级一下你的ADO,应该可以的,我一直这样用。
 
老兄,,
我已升级 Update Pack1,AdoExpress Update Pack 2,,,
但还是报错....

可以把你的代码贴上来,让我试试吗.....
 
关注 !!!!
 
你用数据流作中介,试一试
 
应该要用流才行,
 
接受答案了.
 
后退
顶部