如何把RTF格式的文件保存到数据库的MEMO字段中,又如何还原?(100分)

  • 主题发起人 主题发起人 a4a
  • 开始时间 开始时间
把控制字符一起写到memo中
可以先用Tmemo.lines.loadfromfile把rich文件装入,然后在写到数据库
 
if OpenDialog1.Execute then
begin
if OpenDialog1.FileName = '' then Exit;
FileName := OpenDialog1.FileName;
Mem := TMemoryStream.Create;
Mem.LoadFromFile(FileName);
Mem.Seek(0,soFromBeginning);
Query1.Close;
Query1.DatabaseName := 'D:/BLOB';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO BLOBNAME(NAME,FILENAMES) VALUES(:NAME,:FILENAMES)');
Query1.ParamByName('Name').AsString := FileName;
Query1.ParamByName('FileNAMES').LoadFromStream(Mem,ftBlob);
Query1.ExecSQL;
Mem.Free;
end;
 
var
f:TFileStream;
b:TBlobStream;
begin
b:=TBlobStream.Create(Table1.Fields[0] as TBlobField,bmWrite);
f:=TFileStream.Create(FileName,fmOpenRead);
try
b.CopyFrom(f,f.Size);
finally
b.Free;
f.Free;
end;
end;
 
如果文件已在RichEdit中打开,又如何读取RichEdit的文本连同控制字符的流-RTF文件流?
(不通过外部文件,即不保存))
 
接受答案了.
 
后退
顶部