对IMAGE字段,一般是用流解决,可以参考一下下面这个例子,我是把WORD文件保存在数据库,可以取出来显示,编辑 procedure TForm1.FormCreate(Sender: TObject); begin ADODataSet1.ConnectionString:='Provider=SQLOLEDB.1;Password=zdq;Persist Security Info=True;User ID=sa;Initial Catalog=test'; end;procedure TForm1.BitBtn2Click(Sender: TObject); begin ADODataSet1.Close; ADODataSet1.CommandText:='select * from test where id='+edit2.Text; ADODataSet1.Open; (ADODataSet1.FieldByName('image') AS TBlobField).SaveToFile('d:\aaa.doc'); end;procedure TForm1.BitBtn3Click(Sender: TObject); var filepath:string; begin ADODataSet2.Close; ADODataSet2.Open; ADODataSet2.Append; ADODataSet2.FieldByName('id').Value:=Edit1.Text; opendialog1.Execute; filepath:=opendialog1.FileName; OleContainer1.CreateLinkToFile(Filepath,false);//从指定目录中读出文档 TBlobField(ADODataSet2.fieldbyname('image')).LoadFromFile(filepath);//将文档写入数据库 ADODataSet2.Post; end;procedure TForm1.Button1Click(Sender: TObject); var filepath:string; begin ADODataSet2.Close; ADODataSet2.Open; ADODataSet2.First; while (Not ADODataSet2.Eof) and (Not ADODataSet2.IsEmpty) do begin if ADODataSet2.FieldValues['ID']=Edit3.Text then begin //if 2 ADODataSet2.edit; opendialog1.Execute; filepath:=opendialog1.FileName; OleContainer1.CreateLinkToFile(Filepath,false);//从指定目录中读出文档 TBlobField(ADODataSet2.fieldbyname('image')).LoadFromFile(filepath);//将文档写入数据库 ADODataSet2.Post; end; ADODataSet2.Next; end; end;end.
http://community.csdn.net/Expert/topic/3645/3645081.xml?temp=.3210718
-_-#
procedure TForm1.FormCreate(Sender: TObject);
begin
ADODataSet1.ConnectionString:='Provider=SQLOLEDB.1;Password=zdq;Persist Security Info=True;User ID=sa;Initial Catalog=test';
end;procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ADODataSet1.Close;
ADODataSet1.CommandText:='select * from test where id='+edit2.Text;
ADODataSet1.Open;
(ADODataSet1.FieldByName('image') AS TBlobField).SaveToFile('d:\aaa.doc');
end;procedure TForm1.BitBtn3Click(Sender: TObject);
var filepath:string;
begin
ADODataSet2.Close;
ADODataSet2.Open;
ADODataSet2.Append;
ADODataSet2.FieldByName('id').Value:=Edit1.Text;
opendialog1.Execute;
filepath:=opendialog1.FileName;
OleContainer1.CreateLinkToFile(Filepath,false);//从指定目录中读出文档
TBlobField(ADODataSet2.fieldbyname('image')).LoadFromFile(filepath);//将文档写入数据库
ADODataSet2.Post;
end;procedure TForm1.Button1Click(Sender: TObject);
var filepath:string;
begin
ADODataSet2.Close;
ADODataSet2.Open;
ADODataSet2.First;
while (Not ADODataSet2.Eof) and (Not ADODataSet2.IsEmpty) do begin
if ADODataSet2.FieldValues['ID']=Edit3.Text then begin //if 2
ADODataSet2.edit;
opendialog1.Execute;
filepath:=opendialog1.FileName;
OleContainer1.CreateLinkToFile(Filepath,false);//从指定目录中读出文档
TBlobField(ADODataSet2.fieldbyname('image')).LoadFromFile(filepath);//将文档写入数据库
ADODataSet2.Post;
end;
ADODataSet2.Next;
end;
end;end.