我的代码如下:
  dm.ClientDataSet9.Close;
  dm.ClientDataSet9.CommandText:='';
  dm.ClientDataSet9.CommandText:='select xh,newfile from yL_XX_userinf';
  dm.ClientDataSet9.Open;
  dm.ClientDataSet9.Edit;
  mystream := TMemoryStream.Create;
  mystream.loadfromfile(GetCurrExeDIR+'TCKWJ_YL.exe');
  mystream.seek(0,soFromBeginning);
  UpdataNewFile.LoadFromStream(myStream);//在这里又出错了不能加载进数据库,提示'xh  
                                           out of range'(xh时标的主键)
  dm.ClientDataSet1.FieldByName('VerNumber').asCurrency := (VerServer+0.1);
   dm.ClientDataSet1.ApplyUpdates(-1);

解决方案 »

  1.   

    adoTable1.append;
      adotable1.FieldByName('wenno').asinteger:=num;
      adotable1.FieldByName('filename').asstring:= strfile;
      (adoTable1.FieldByName('NEIRONG') as TBlobField).LoadFromFile(strfile);
      adoTable1.Post;
      

  2.   

    http://www.somade.com/是个很专业的技术社区,去那里找找吧,或许有你要的答案~
      

  3.   

    updatanewfile:=Tblobfield(dm.ClientDataSet9.FieldByName('newfile'));
      updatanewfile.LoadFromStream(myStream);瘟神莫这样写就报错
      dm.ClientDataSet9.SaveToStream(mystream);这样就不报错,但存不进去