1,插入文件 procedure TForm2.ToolButton2Click(Sender: TObject); var MemSize: Integer; Buffer: PChar; MyFile: TMemoryStream; Stream: TADOBlobStream; begin OpenDialog1.Filter:='图片文档(*.ipg)|*.jpg';{从对话窗选择文件} if OpenDialog1.Execute then begin MyFile:=TMemoryStream.Create; MyFile.LoadFromFile(OpenDialog1.FileName);
if ADOQuery5.FieldByName('wjnr').IsNull then begin with ADOQuery5 do begin Open; edit; Stream :=TADOBlobStream.Create(TBlobField(FieldByName('wjnr')),bmwrite); MemSize := MyFile.Size; Inc(MemSize); Buffer := AllocMem(MemSize); Stream.Seek(0, soFromBeginning); MyFile.Read(Buffer^,MemSize); Stream.Write(Buffer^,MemSize); MyFile.Free; Stream.Free; Post; end; OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,False); OleContainer1.Run; end; end;//if end;
怎么过渡?code?
procedure TForm2.ToolButton2Click(Sender: TObject);
var
MemSize: Integer;
Buffer: PChar;
MyFile: TMemoryStream;
Stream: TADOBlobStream;
begin
OpenDialog1.Filter:='图片文档(*.ipg)|*.jpg';{从对话窗选择文件}
if OpenDialog1.Execute then
begin
MyFile:=TMemoryStream.Create;
MyFile.LoadFromFile(OpenDialog1.FileName);
if ADOQuery5.FieldByName('wjnr').IsNull then begin
with ADOQuery5 do
begin
Open;
edit;
Stream :=TADOBlobStream.Create(TBlobField(FieldByName('wjnr')),bmwrite);
MemSize := MyFile.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
Stream.Seek(0, soFromBeginning);
MyFile.Read(Buffer^,MemSize);
Stream.Write(Buffer^,MemSize);
MyFile.Free;
Stream.Free;
Post;
end; OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,False);
OleContainer1.Run;
end;
end;//if
end;
aField为Image字段,aFileName为图片文件名