我用代码
With Query do
begin
Close;
Sql.Clear ;
Sql.Add ('insert into A ');
Sql.Add ('(pic) values');
Sql.Add ('(:Pic)');
ParamByName('Pic').LoadFromFile(FileNameIn,ftBlob);
ExecSql;
if RowsAffected <=0 then
begin
Result:=false;
exit;
end;
end;
向表A的pic字段传图形文件,图形文件由FileNameIn变量代表。
然后用代码
With Query do
begin
Close;
Sql.Clear;
Sql.Add ('select pic from A ');
Sql.Add ('where id =:ID ');
ParamByName('ID').AsString:=ID;
Open;
end;
(Query.FieldByName ('pic') as TBlobField).SaveToFile(FileNameOut);
Result:=FileNameOut;
将pic字段的图形文件下载到文件FileNameOut。A表的pic字段定义是 BYTE 类型现在我遇到的问题是如果FileNameIn的大小大于32K,则下载下来的FileNameOut文件大小只有32KA表所在是informix数据库,声称对BLOB字段没有32K的限制,那么会不会是delphi
的TBlobField类型的SaveToFile函数和LoadFromFile函数的限制呢?
如果真有这样的限制话那么应该如何解决我的问题呢?
小弟实在是没有办法,请熟悉delphi数据库编程的大虾帮忙。谢谢先!!!!
With Query do
begin
Close;
Sql.Clear ;
Sql.Add ('insert into A ');
Sql.Add ('(pic) values');
Sql.Add ('(:Pic)');
ParamByName('Pic').LoadFromFile(FileNameIn,ftBlob);
ExecSql;
if RowsAffected <=0 then
begin
Result:=false;
exit;
end;
end;
向表A的pic字段传图形文件,图形文件由FileNameIn变量代表。
然后用代码
With Query do
begin
Close;
Sql.Clear;
Sql.Add ('select pic from A ');
Sql.Add ('where id =:ID ');
ParamByName('ID').AsString:=ID;
Open;
end;
(Query.FieldByName ('pic') as TBlobField).SaveToFile(FileNameOut);
Result:=FileNameOut;
将pic字段的图形文件下载到文件FileNameOut。A表的pic字段定义是 BYTE 类型现在我遇到的问题是如果FileNameIn的大小大于32K,则下载下来的FileNameOut文件大小只有32KA表所在是informix数据库,声称对BLOB字段没有32K的限制,那么会不会是delphi
的TBlobField类型的SaveToFile函数和LoadFromFile函数的限制呢?
如果真有这样的限制话那么应该如何解决我的问题呢?
小弟实在是没有办法,请熟悉delphi数据库编程的大虾帮忙。谢谢先!!!!
解决方案 »
- 想编一个最大化程序,如何排版最简单?
- 0分帖子~~~
- cxspreadsheet控件是DevExpress.QuantumGrid.4.5.2里的吗?郁闷.......
- 100分,存储过程参数传递问题!
- 超复杂问题,大家来帮帮看看,如何显示数据~!
- (紧急求救)在Delphi里面怎样设置TTS中文引擎
- 一个关于面向对象的三层问题??
- 如何一次性更新TABEL表的内容?
- Eoutofresources cannot load cursor resource在win98出錯。exe文件在win2000以上可以運行。
- select 语句的有关问题
- 树控件的用法:双击节点展开和单击节点+号为何有不同结果?
- 【delphi中利用ClientDataSet和ADOQuery分别如何调用oracle中的存储过程-400分相送】
BLOB SIZE 默认是32K,将其改大些
database1.params.values['BLOB SIZE'] := '10240';
databse1.open3.给我分吧!!!:)