procedure TForm1.Button1Click(Sender: TObject); {}var MS: TMemoryStream; begin RichEdit1.Font.Color := Clred; MS:=TMemoryStream.create; RichEdit1.Lines.LoadFromStream(MS); MS.Position:=0; ADOQuery1.Append; TBlobField(ADOQuery1.FieldbyName ('Doc')).LoadFromStream(MS); ADOQuery1.Post; end; } with ADOQuery1 do begin Edit; FieldByName('doc').AsString := RichEdit1.Text; Post; end; function blobcontenttostring(const filename: string):string; begin with tfilestream.create(filename,fmopenread) do try setlength(Result,size); read(Pointer(Result)^,size); finally free; end; end; //保存字段 var sFileName : String; begin RichEdit1.Font.Color := ClRed; RichEdit1.Lines.SaveToFile('C:\aaa.rtf'); if (opendialog1.execute) then begin sFileName:=OpenDialog1.FileName; adoquery1.edit; adoquery1.fieldbyname('doc').asstring:=Blobcontenttostring(sFileName); adoquery1.post; end; end;procedure TForm1.Button2Click(Sender: TObject); var MS: TStream; begin ADOQuery1.First; with ADOQuery1 do MS:=CreateBlobStream (FieldbyName('Doc'),bmRead); RichEdit2.Lines.LoadFromStream(MS); MS.Free; end;procedure TForm1.Button3Click(Sender: TObject); begin ADOQuery1.Next; end;你要是加个uses Jpeg的话,好像可以直接存取
uses Jpeg; ..... var v_a:TJPEGImage; begin v_a:=tjpegimage.Create; v_a.LoadFromFile('c:\aaa.jpg'); adoquery1.edit; adoquery1.fieldbyname('photo').assign(v_a); adoquery1.post; end;
{}var
MS: TMemoryStream;
begin
RichEdit1.Font.Color := Clred;
MS:=TMemoryStream.create;
RichEdit1.Lines.LoadFromStream(MS);
MS.Position:=0;
ADOQuery1.Append;
TBlobField(ADOQuery1.FieldbyName
('Doc')).LoadFromStream(MS);
ADOQuery1.Post;
end; } with ADOQuery1 do
begin
Edit;
FieldByName('doc').AsString := RichEdit1.Text;
Post;
end; function blobcontenttostring(const filename: string):string;
begin
with tfilestream.create(filename,fmopenread) do
try
setlength(Result,size);
read(Pointer(Result)^,size);
finally
free;
end;
end;
//保存字段
var
sFileName : String;
begin
RichEdit1.Font.Color := ClRed;
RichEdit1.Lines.SaveToFile('C:\aaa.rtf');
if (opendialog1.execute) then
begin
sFileName:=OpenDialog1.FileName;
adoquery1.edit;
adoquery1.fieldbyname('doc').asstring:=Blobcontenttostring(sFileName);
adoquery1.post;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
MS: TStream;
begin
ADOQuery1.First;
with ADOQuery1 do
MS:=CreateBlobStream
(FieldbyName('Doc'),bmRead);
RichEdit2.Lines.LoadFromStream(MS);
MS.Free;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Next;
end;你要是加个uses
Jpeg的话,好像可以直接存取
.....
var v_a:TJPEGImage;
begin
v_a:=tjpegimage.Create;
v_a.LoadFromFile('c:\aaa.jpg');
adoquery1.edit;
adoquery1.fieldbyname('photo').assign(v_a);
adoquery1.post;
end;
小别:为什么你的例子总是提示是bitmap?