求图片存储代码(77分)

  • 主题发起人 主题发起人 z_j_ren
  • 开始时间 开始时间
Z

z_j_ren

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把图片存进由Database Desktop建立 的 Paradox7数据库
但不知怎么操作
那位富翁帮忙些个代码
也可以是存进Access数据库的
分不多了全给出了
 
看我的笔记
 
to lxw5214
我写的代码提示[Error] ClassMX.pas(80): Undeclared identifier: 'BlobField'
这是怎么回事
并且我用database desktop 建立的一个 picture.db数据库
我不知道怎样连接
我是在databasename参数里写了“../picture.db”这样写行不行
 
应该是TBlobField吧,也可能是你定义的那个图片字段不是流字段,你先看一下你的那个字段是什么类型的,在Access中应该是OLE对象这个类型的,在进行操作试一下
 
以前回答的问题,回答好多次了:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3148420
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3130221
还有多找找吧
 
存储和读取的问题已经解决了
但是,但我把程序拷贝到其他电脑上(未安装Delphi)时,程序在此电脑上运行时报错
“An error occurred while attempting to initialie the Borland Databas Engine (error $2108)”
 
要在其它机上安装BDE。。。。
如果用ADO的话一般就不用了。。
 
那怎样用ADO连接Paradox建立的数据库Pic.DB呢
能不能介绍一下
 
下面是JPG格式的图片的存入
如果有的控件没有,
你再加上,应该可以看明白,
我每次使用都没有出过错
procedure TForm1.BitBtn1Click(Sender: TObject);
var Ms:TmemoryStream;
jpg:Tjpegimage;
begin
if opendialog1.Execute then
image1.Picture.LoadFromFile(opendialog1.FileName);
ms:=TmemoryStream.Create;
Jpg:=tjpegimage.Create;
Jpg.Assign(image1.Picture.Graphic);
Jpg.SaveToStream(Ms) ;
Ms.Position :=0;
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('photo')).LoadFromStream(Ms);
ADOquery1.Post;
Ms.Free ;
jpg.free;
image1.Width:=image1.Picture.Width;
image1.Height:=image1.Picture.Height;
end;
 
to 再见卡门
谢谢你的参与。图片存储的代码我已经有了,你给出的代码很有用,但是,我不知道怎样用ADO连接Paradox建立的数据库PIC.DB,你代码里的ADOQuery我还是不会用。能不能介绍一下ADO连接Paradox
 
不会吧,设置ODBC嘛!或者直接连接文件。
 
直接连接文件怎么操作亚
说具体一点吧
我确实时不知道,以前都是连接SQL的
 
具体点说就是:我有一个数据文件person.db保存在D盘(D:/person.db)
我想用ADOQuery连接这个数据文件,如何操作?
请各位富翁指教
 
to z_j_ren
用ado连库的方法:
1.首先,用ado的时候不用配ODBC
2.在ADO菜单中选择:adoquery或adotable,
3.设置adoquery的connectionstring属性:
  use connecting string/building/在提供者中选择Microsoft OLE for sql server/
在“连接”中选择你要连的sql服务器名称/在服务器上选择数据库/测试/OK/
4.在adoquery的sql属性中输入sql语句,如:select * from 用户表
5.active:=true;
6.完成
7.给分!!
 
哦,对了,前提是你已经在sql数据库中建了相应的库和表.
且sql 服务器处于开启状态
 
记得有个Assign
 
to 卡门
你说的是连接SQL数据库的方法,而我问的是连接Paradox数据库的方法。能不能也介绍一下
 
大家看看我这断代吗错在那里了
总提示我Insert Into 语法错误
procedure TForm1.Button1Click(Sender: TObject);
var
MyJPEG: TJPEGImage;
MS: TMemoryStream;
Image: TImage;
testStream:TMemoryStream;
begin
Image := TImage.Create(nil);
image.Picture.LoadFromFile('G:/班级活动/纪念册个人照片/'+Trim(Edit12.Text)+'.jpg');
MyJPEG := TJPEGImage.Create;
try
with MyJPEG do
begin
Assign(Image.Picture.Graphic);
MS := TMemoryStream.create;
SaveToStream(MS);
MS.Position := 0;
with dmform.qry1 do
begin
close;
sql.Clear;
sql.add('insert into Person (No,Name,HomeTown,BirthDay,Office,City,Mobile,HomePhone,OPhone,QQ,MSN,Email,Pic)');
sql.add(' values (:No,:Name,:HomeTown,:BirthDay,:Office,:City,:Mobile,:HomePhone,:OPhone,:QQ,:MSN,:EMail,:Pic)');
Parameters.ParamValues['No']:=Edit11.Text;
Parameters.ParamValues['Name']:=Edit12.Text;
Parameters.ParamValues['HomeTown']:=Edit10.Text;
Parameters.ParamValues['BirthDay']:=Edit9.Text;
Parameters.ParamValues['Office']:=Edit1.Text;
Parameters.ParamValues['City']:=Edit2.Text;
Parameters.ParamValues['Mobile']:=Edit8.Text;
Parameters.ParamValues['HomePhone']:=Edit4.Text;
Parameters.ParamValues['OPhone']:=Edit5.Text;
Parameters.ParamValues['QQ']:=Edit6.Text;
Parameters.ParamValues['MSN']:=Edit7.Text;
Parameters.ParamValues['EMail']:=Edit3.Text;
Parameters.ParamByName('Pic').LoadFromStream(MS,ftblob);
Execsql;
end;
image.Picture.CleanupInstance;
end;
finally
MyJPEG.Free;
Image.Free;
Image := nil;
end;
end;
 
后退
顶部