我用下面方法更新image,就说TEXT与IMAGE类型不兼容,而下面方法对于MEMO就没有问题.
procedure TForm1.Button1Click(Sender: TObject);
var
  st: TStringStream;
begin
  st := tstringstream.create('');
  Dbimage1.Picture.Bitmap.SaveToStream(st);
  CLientdataset1.CommandText:='insert into 学生资料表(学号,班级代号,照片) values(''1'',''610002'',:pic)';
  CLientdataset1.Params[0].AsBlob:=st.DataString;
  CLientdataset1.Execute;
end;

解决方案 »

  1.   

    上面的方法对于query空间,更新image,memo都正确,请问怎么用clientdataset搞定??
      

  2.   

    你这行语句有问题:
    CLientdataset1.Params[0].AsBlob:=st.DataString;
    只能这样:CLientdataset1.FieldByName('BLOB').LoadFormFile(...);
      

  3.   

    你试试CLientdataset1.CommandText:='insert into 学生资料表(学号,班级代号,照片) values('+inttostr(1)+','+inttostr(610002)+',:pic)';
      

  4.   

    你试试CLientdataset1.CommandText:='insert into 学生资料表(学号,班级代号,照片) values(1,610002,:pic)';
      

  5.   

    如果是Oracle数据库,就用ODAC。