请问如何把JPG图片存入数据库 在线//
请问如何把jpg图片寸入数据库的字段当中?
为什么有时候提示bitmap image is not valid
问题点数:10、回复次数:16Top
1 楼qingfengsishi(不懂程序)回复于 2005-07-25 15:48:53 得分 2
// Load Bmp File
TBlobField(Ado.FieldByName('Pic')).LoadFromFile('YourBmpFile');
Ado.Post;
Top
2 楼i25ffz(Martin)回复于 2005-07-25 16:13:26 得分 3
存成流,再存入数据库,读取数据库,存成流,再存成文件读出JPG文件。
在单无中加入Jpeg单元的引用即可直接存取Jpeg文件。Top
3 楼kikyoy(雨姗)回复于 2005-07-25 20:01:00 得分 0
在单无中加入Jpeg单元的引用即可直接存取Jpeg文件。
是什么意思啊 我是新手 不很懂呢
怎么读出?Top
4 楼kikyoy(雨姗)回复于 2005-07-25 20:06:10 得分 0
他提示保存成功 但是我浏览不到图片。。。。。怎么回事Top
5 楼zsjzwj(北极熊)回复于 2005-07-25 20:18:16 得分 0
uses Jpeg;
然后就可以想bmp一样存了Top
6 楼kikyoy(雨姗)回复于 2005-07-25 20:26:42 得分 0
为什么我存进去了 但是浏览不到图片
是不是还要写什么代码?才能在浏览职工信息表的时候看到该图片?Top
7 楼zsjzwj(北极熊)回复于 2005-08-05 16:41:51 得分 0
浏览用delphi自带的image是不行的,找个支持jpg格式的image控件就可以了Top
8 楼kikyoy(雨姗)回复于 2005-08-22 11:22:35 得分 0
他们都说 把数据库里写成2进制的 寸的时候用2进制存进去 取的时候先读2进制
不是很懂哦Top
9 楼youcheng1(晓松)回复于 2005-08-22 14:19:07 得分 0
图片保存在数据库中你的库会膨胀得很快,我的做法是只在数据库中存图片名称。具体例子在我网站http://www.web1688.com有下载Top
10 楼kikyoy(雨姗)回复于 2005-08-22 15:56:52 得分 0
你说的地址 东西我下载不下来呢Top
11 楼kikyoy(雨姗)回复于 2005-08-24 11:29:06 得分 0
把jpg转换为2进制存进去 取的时候在转换为JPG取出来
怎么写代码?
Top
12 楼xielaixiangjx(谢香)回复于 2005-08-24 11:47:07 得分 5
{保存图片到数据库,传入的参数为ADOConnection,终端地址Address,发生时间AdateTime
图片的字节数组TArrayByte及长度Alen,异常序号Aabnomity,默认编号为10位}
procedure TForm1.InsertImage(AADOConne:TADOConnection; Aaddress: integer; AdateTime: string;
AImageArray: TArrayByte; ALen: integer; Aabnomity:integer=5);
function IntegerToFixStr(inte: integer; StrLen: integer= 10):string;
var
resStr: string;
begin
resStr := '0000000000000000000';
resStr := copy(resStr,1,StrLen-length(IntToStr(inte)))+ IntToStr(inte);
result := resStr;
end;
var
blobStream: TMemoryStream;
qry: TADOquery;
sqlStr: string;
begin
try
qry := TADOquery.Create(nil);
try
blobStream := Tmemorystream.Create;
blobStream.Write(AImageArray,Alen);
qry.Connection := AADOConne;
qry.Close;
qry.SQL.Clear;
SQLStr := 'insert into qd_zdydycssxx(zdbh,fssj,yc,xczpsj) values('''
+ IntegerToFixStr(Aaddress)
+ ''',to_date('''+ AdateTime+''',''YYYY-MM-DD HH24:MI:SS''),'''
+ IntegerToFixStr(Aabnomity) + ''',:axczpsj)';
qry.SQL.Text := SQLStr;
qry.Parameters.ParamByName('axczpsj').LoadFromStream(blobStream,ftblob);
qry.ExecSQL;
finally
blobStream.Free;
end;
finally
qry.Free;
end;
end;
仅供参考Top
13 楼kikyoy(雨姗)回复于 2005-08-24 12:04:01 得分 0
有用adotable 不用adoquery 这样的例子吗Top
14 楼dd_zhouqian()回复于 2005-08-24 13:13:27 得分 0
用数据流百分之百没问题Top
15 楼kikyoy(雨姗)回复于 2005-08-24 14:08:50 得分 0
我不知道怎么用数据流。。Top
16 楼kikyoy(雨姗)回复于 2005-08-24 14:20:49 得分 0
能否举个例子Top




