procedure TForm1.BitBtn3Click(Sender: TObject);
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: Array[0..38400] of char;
MS:TMemoryStream;
begin
if OpenDialog1.Execute then
begin
MS:=TMemoryStream.Create;
iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
if iFileLength<=38400 then
begin
iBytesRead:= FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle); if (iBytesRead>0) then
begin
MS.WriteBuffer(Buffer,iBytesRead);
MS.Position:=0; if not (Table1.State in [dsInsert, dsEdit]) then
Table1.Insert;
TBlobField(Table1.FieldByName('bitmap')).LoadFromStream(MS);
Table1.Post;
end;
end;
MS.Free;
end;
end;
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: Array[0..38400] of char;
MS:TMemoryStream;
begin
if OpenDialog1.Execute then
begin
MS:=TMemoryStream.Create;
iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
if iFileLength<=38400 then
begin
iBytesRead:= FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle); if (iBytesRead>0) then
begin
MS.WriteBuffer(Buffer,iBytesRead);
MS.Position:=0; if not (Table1.State in [dsInsert, dsEdit]) then
Table1.Insert;
TBlobField(Table1.FieldByName('bitmap')).LoadFromStream(MS);
Table1.Post;
end;
end;
MS.Free;
end;
end;
var str:Tmemorystream;
begin
str:=Tmemorystream.Create;
str.LoadFromFile('d:\cai.jpg');//OpenDialog1.FileName 也可以
str.Position:=0; adoquery2.Append; //图片
Tblobfield(adoquery2.FieldByName('image')).loadfromstream(str);
try
adoquery2.Post;
finally
str.Free;
end;
end;