Query1.SQL.Clear ;
        Query1.SQL.Add ('INSERT INTO Mypicture (picid,Picture) values (16,:Picture)');
        Query1.ParamByName('picture').LoadFromFile('D:\eagle.jpg', ftBlob);    //指定文件名的导入代码
        Query1.ExecSQL;
        Query1.Active :=False;
        ShowMessage('Save Jpg or Bmp successfully');
为色么对于图片大于30K的图片保存有问题?

解决方案 »

  1.   

    读取
       adoquery1.SQL.Text :='select zp from gxs_lgbjbda where gbbm='+active_ado.fieldbyname('gbbm').Value ;
            adoquery1.Open ;
            dbimage1.Visible :=false;
            dbimage1.Picture.LoadFromFile('');
            dbimage1.Visible :=true;
            dbImage1.Picture.Bitmap.Assign(TBLOBField(adoquery1.Fields[0]));      写如,反过来就ok,
      

  2.   

    你用内存流的方式装入图片试试
        TMemoryStream * mem = new TMemoryStream;
        TADOQuery *q = new TADOQuery;
        mem->Position = 0;
        mem->Size = 0;
        mem->LoadFromFile("D:\\1.jpg");
        mem->Position = 0;
        ((TBlobField *)q->FieldByName("picture"))->LoadFromStream(mem);
      

  3.   

    如果你用的是BDE的话,你就要改BDE Administrator中的Blob Size的大小,以K为单位
      

  4.   

    一般来说,保存没问题,但是读取会有问题(BDE blob size)