S
sunziqi
Unregistered / Unconfirmed
GUEST, unregistred user!
执行了上面的程序后.DBIMAGE中的图象格式已经转换成BITMAP,但没有真的把JPEG存进数据库.
如果真的要保存JPEG到数据库中可以
if opendialog1.excute then
begin
Table1.append;
TBLOBFIELD(TABLE1.FIELDBYNAME('FIELD1').LOADFROMFILE(文件名);
Table1.post;
end;
读出的时候换成SAVETOFILE再读就是了.
如果你嫌这种不好用;
可以用TFILESTREAM;
PROCEDURE TFORM1.BUTTON4CLICK(SENDER:TOBJECT);
VAR VALUE :TFILESTREAM;
BEGIN
VALUE:=TFILESTREAM.CREATE;
VALUE.LOADFROMFILE(文件名);
TABLE1.APPEND;
TBLOBFIELD(TABLE1.FIELDBYNAME('FIELD1').LOADFROMSTREAM(VALUE);
TABLE1.POST;
VALUE.FREE;
END;
不过读出来就不那么方便了.最好如AIZD说的,不要用DBIMAGE了.直接用IMAGE就是了.因为在这
种格式下,DBIMAGE也是当了IMAGE用.要不找第三方的用.
前题是FIELD1的字段属性是:BLOB.我在SQLSERVER上试过.IMAGE型.ORACLE等
其他的数据库我就不知道了.
如果真的要保存JPEG到数据库中可以
if opendialog1.excute then
begin
Table1.append;
TBLOBFIELD(TABLE1.FIELDBYNAME('FIELD1').LOADFROMFILE(文件名);
Table1.post;
end;
读出的时候换成SAVETOFILE再读就是了.
如果你嫌这种不好用;
可以用TFILESTREAM;
PROCEDURE TFORM1.BUTTON4CLICK(SENDER:TOBJECT);
VAR VALUE :TFILESTREAM;
BEGIN
VALUE:=TFILESTREAM.CREATE;
VALUE.LOADFROMFILE(文件名);
TABLE1.APPEND;
TBLOBFIELD(TABLE1.FIELDBYNAME('FIELD1').LOADFROMSTREAM(VALUE);
TABLE1.POST;
VALUE.FREE;
END;
不过读出来就不那么方便了.最好如AIZD说的,不要用DBIMAGE了.直接用IMAGE就是了.因为在这
种格式下,DBIMAGE也是当了IMAGE用.要不找第三方的用.
前题是FIELD1的字段属性是:BLOB.我在SQLSERVER上试过.IMAGE型.ORACLE等
其他的数据库我就不知道了.