在数据库中如何输入图片数据(50分)

W

wrl_001

Unregistered / Unconfirmed
GUEST, unregistred user!
在.DB数据库文件中定义了一个Graphic类型的字段,请问在哪里输入这个字段的值呢?

在Database Desktop中应该不可以吧?
 
Var Mems:TMemoryStream;
begin
Mems:=TMemoryStream.Create;
try
Mems.LoadFromFile('./a,jpg');//你的图片文件名
TBlobField(Field).LoadFromStream(Mems);
Finally
Mems.Free;
end;
end;
 
不好意思,我问的不是在程序中如何输入,而是说在数据库录入数据的时候怎么输入
比如说在Database Desktop中可否输入???
 
为什么不用程序来输入,要直接对库输入?自己用还是客户用?
 
就是说想直接对库输入啦,我还没有到给客户用的程度,所以说是自己用罗,

有没有人告诉我答案啊?
 
delphi的databasedesktop不行的,只自己用程序来写不行
 
不会吧,那不是很麻烦吗?
 
没办法,其实用程序也很简单的。可以用下面的代码试试
if OpenPictureDialog1.Execute then
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
 
我也是同样的问题啊,:)
我不知道怎么在DESKOP中间加入自己的图片数据到字段里,用LOADFROMFILE是不行的。
 
procedure TframStartStudy.BitBtn8Click(Sender: TObject);
var
sFileName : string;
fStream:TFilestream;//to load the rm file
bStream:TBlobstream;//to save to the bolb
begin
if OpenDialog1.Execute then
begin
sFileName :=OpenDialog1.FileName ;
fStream := tFilestream.Create(sFileName,fmOpenread);
with Table1 do
begin
TableName :='aaa';//指定你自己的表名
Open;
Append;
//为Element字段创建一个blobstream
bStream := TBlobstream(Table1.CreateBlobStream(Table1.FieldByName('SoundFile'),bmReadWrite));//指定你自己的字段名
//移动到stream的首位
bStream.seek(0,soFromBeginning);

//清空流数据
if bStream.Size<>0 then
bStream.truncate;
//将filestream的内容拷贝到blobstream
bStream.copyfrom(fStream,fStream.size);
//释放流
fStream.free;
bStream.free;
//添加记录
try
post;
except
end;
end;


end;
end;
这是我现在在用的,什么图片,音频,都可以载入.
 
多人接受答案了。
 
顶部