sm:TMemorystream;
sm1:Tstream;
begin
sm:=Tmemorystream.Create;
image1.Picture.Bitmap.SaveToStream(sm);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update 借书证 set 相片=:相片 where 借书证号=:借书证号');
adoquery1.Parameters.ParamByName('借书证号').Value:=edit1.text;
adoquery1.Parameters.ParamByName('相片').LoadFromStream(sm,ftGraphic);
adoquery1.ExecSQL;
adoquery1.Close;
sm.Free;这样可以正确存取而用以下方法就不可以了:sm:TMemorystream;
sm1:Tstream;
begin
sm:=Tmemorystream.Create;
image1.Picture.Bitmap.SaveToStream(sm);
ClientDataSet1.Close;
ClientDataSet1.CommandText:='update 借书证 set 相片=:相片 where 借书证号=:借书证号';
ClientDataSet1.Params.ParamByName('借书证号').Value:=edit1.text;
ClientDataSet1.Params.ParamByName('相片').LoadFromStream(sm,ftGraphic);
ClientDataSet1.Execute;
clientdataset1.Close;
sm.Free;
在读取的时候,总是说read stream error!特此请教!是不是clientdataset要用另一种方法?