procedure ....  //保存JPG文件到SQL数据库中
 
var
  MemSize: Integer;
  Buffer: PChar;
  MyFile: TFileStream;
  Stream: TBlobStream;
  filename:string;
begin
  
  if OpenDialog1.Execute then
  begin
    filename:=OpenDialog1.FileName;
    MyFile:=TFileStream.Create(fileName,fmOpenRead);
    with table1 do
    begin
      Open;
      edit;
      Stream := TBlobStream.Create(FieldByName('Doc') as TBlobField, bmWrite);{‘Doc’为BLOB字段名}
      MemSize := MyFile.Size;
      Inc(MemSize);
      //增加的一字节给结尾的null
      Buffer := AllocMem(MemSize);
      try
        Stream.Seek(0, soFromBeginning);
       //流指针位置放到最前
        MyFile.Read(Buffer^,MemSize);
        Stream.Write(Buffer^,MemSize);
        FieldByName('Name').Asstring:=ExtractFileName(fileName);
        FieldByName('Size').Asstring:=inttostr(MemSize-1);
        statictext1.caption:='文件名:'+ExtractFileName(fileName);
        statictext2.caption:='文件大小:'+inttostr(Memsize-1)+'字节';
     finally
        MyFile.Free;
        Stream.Free;
     end;
       try
        table1.Post;
       except
         showmessage('保存失败!');
         halt;
       end;
         showmessage('保存成功,正在加载文档!');
         end;
   end;
end;执行出错!键列信息不足或不正确,更新影响到更多的行