我想用QUERY控件insert tb1(blob) values(:para1),然后设置参数的方式添加带BLOB字段的记录,不知怎么处理比较合适,同时取出又该如何?
不想用TABLE控件(总是预取数据)!
不想用TABLE控件(总是预取数据)!
解决方案 »
- 在DELPHI中,如何用ADO连接EXCEL文件,如何访问、编辑Sheet?
- 一个简单的问题﹐全分给第一位回答者…………
- 请问通过ADO查询能不能支持多线程?
- 一个关于穷举算法的问题50分
- 关于如何使用ListView和adodataset?希望高手指点
- midas的更新问题?????
- delphi 调用 java写的 WebService ,抛org.xml.sax.Saxexception [急啊,在线等]
- SQL语句的问题 主从表的查询? 急!急1!jjiji
- Delphi启动时出现的错误!
- 请问怎么利用按钮组件,对多个Edit分别进行赋值
- 如何在一个Form中检查另一个Form是否已创建或存在?
- 求助~
MStream:=TMemoryStream.Create;
try
MStream.LoadFromFile(trim(edtfile.Text));
except
ShowMessage(OpenFileErr);
MStream.Free;
exit;
end;
.....TBlobField(ADOTable1.FieldByName('files')).LoadFromStream(MStream);
try
ADOTable1.Post;
procedure TMainFrm.N4Click(Sender: TObject);
var
MStream:TStream;
MFileStream:TFileStream;
pImage: pointer;
FileName:string;
aFileName:String;
begin SaveDialog1.FileName:=suiDBGrid2.DataSource.DataSet.FieldByName('filename').AsString;
SaveDialog1.Execute;
if not SaveDialog1.Execute then Exit ;
try
//从数据库读出文件信息
MStream:=suiDBGrid2.DataSource.DataSet.CreateBlobStream(suiDBGrid2.DataSource.DataSet.FieldbyName('Files'),bmRead);
FileName :=suiDBGrid2.DataSource.DataSet.FieldByName('FileName').asString ;
//组合文件名
aFileName := SaveDialog1.FileName;
MStream.Position:=0;
GetMem(pImage, MStream.Size);
//创建文件
MFileStream := TFileStream.Create(aFileName, fmCreate);
MStream.Read(pImage^,MStream.Size);
MFileStream.Write(pImage^ ,MStream.Size);
FreeMem(pImage); MFileStream.Free ;
MStream.Free ;
except
if(MStream<>nil)then MStream:=nil ;
if(MFileStream<>nil)then MFileStream:=nil ;
exit;
end;
ShowMessage(SaveSuccess);
end;
再用ShellExecute打开