S
sy.zhuang
Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi7+oracle+odbc+adoquery环境下,想把bmp文件存取在oracle的blob字段中,但是无法实现。
表结构如下:
表名:test
ID: VARCHAR(10);主键
PICTURE:BLOB
我设完adoquery的connectString后,设SQL语句属性时为:select id,picture from test
此时,当想把adoquery的active的属性由false设为true时,出现一个错误,
错误显示为:unsupported netword datatype or representation.(使用adotable也不行。)
但是,我设sql为:select id from test时,就可以打开adoquery。
可是,如果使用access数据库的话,就可以打开,我想请问各位,这时怎么一回事,很急,望那位大侠帮忙一下。在线等待......
之后,就是把image上的图片存到oracle的blob字段去,代码如下:
If OpenDialog1.Execute then // 打开文件对话框
begin
Image1.Picture.Bitmap.SaveToFile(OpenDialog1.FileName); //将图像数据写入磁盘临时文件中
ADOQuery1.Edit; // 写BLOB字段之前使ADOTable1处于编辑状态。
ADOQuery1.Append; // 添加一个空记录
// 加载磁盘临时文件至BLOB字段
TBlobField(ADOQuery1.FieldbyName('PICTURE')).LoadFromFile(OpenDialog1.FileName);
ADOQuery1.Post; // 将修改数据写入数据库
ADOQuery1.Refresh; // 使ADOQuery1对象与数据库同步
DeleteFile(‘d:/temp.bmp’); // 删除临时文件
end;
以上代码我在delphi+ado+odbc+access 下都没问题,就是在oracle中有问题。。
我在网上有看到delphi存取oracle的blob字段的文章,但是,都没有提到我以上的问题.......
表结构如下:
表名:test
ID: VARCHAR(10);主键
PICTURE:BLOB
我设完adoquery的connectString后,设SQL语句属性时为:select id,picture from test
此时,当想把adoquery的active的属性由false设为true时,出现一个错误,
错误显示为:unsupported netword datatype or representation.(使用adotable也不行。)
但是,我设sql为:select id from test时,就可以打开adoquery。
可是,如果使用access数据库的话,就可以打开,我想请问各位,这时怎么一回事,很急,望那位大侠帮忙一下。在线等待......
之后,就是把image上的图片存到oracle的blob字段去,代码如下:
If OpenDialog1.Execute then // 打开文件对话框
begin
Image1.Picture.Bitmap.SaveToFile(OpenDialog1.FileName); //将图像数据写入磁盘临时文件中
ADOQuery1.Edit; // 写BLOB字段之前使ADOTable1处于编辑状态。
ADOQuery1.Append; // 添加一个空记录
// 加载磁盘临时文件至BLOB字段
TBlobField(ADOQuery1.FieldbyName('PICTURE')).LoadFromFile(OpenDialog1.FileName);
ADOQuery1.Post; // 将修改数据写入数据库
ADOQuery1.Refresh; // 使ADOQuery1对象与数据库同步
DeleteFile(‘d:/temp.bmp’); // 删除临时文件
end;
以上代码我在delphi+ado+odbc+access 下都没问题,就是在oracle中有问题。。
我在网上有看到delphi存取oracle的blob字段的文章,但是,都没有提到我以上的问题.......