W
whatisgod
Unregistered / Unconfirmed
GUEST, unregistred user!
请问:在MIDAS中如何使用带参数SQL对BLOB字段写入/读取Access数据库?
原来使用ADOTable时,是没有问题,不过要在应用MIDAS时,使用ADOTable的传输和更新不稳定,于是使用ADOQuery+DadaProvider放在服务器,客户端使用ClientDataSet+DataSource;
我的尝试是:
var
MyJpeg:TJPEGImage;
TempStream:TMemoryStream;
........................(略)
MyJpeg:=TJPEGImage.Create;
TempStream:=TMemoryStream.Create;
MyJpeg.LoadFromFile(FileName);
MyJpeg.SaveToStream(TempStream);
TempStream.Position:=0;
ClientDataSet.Close;
ClientDataSet.Params.CreateParams(ftBlob,'Pics',ptInput);
ClientDataSet.CommandText:='insert into tablename pics valuesPics)';
ClientDataSet.Params.ParamsByName('Pics').Loadfromstream(TempStream);
ClientDataSet.Execute;
执行结果是往数据库里添加了4个字节的东西,如果在Image控件中(已作转换)显示则提示'Jpeg Error #53',对该字段导出到图片文件则只有4个字节,而且也不是图片文件;请问该如何处理?
我在大富翁论坛上搜索了很多次,发现只能搜到2003年左右的帖子,所以得到的信息很少,不知有没有人实现?
原来使用ADOTable时,是没有问题,不过要在应用MIDAS时,使用ADOTable的传输和更新不稳定,于是使用ADOQuery+DadaProvider放在服务器,客户端使用ClientDataSet+DataSource;
我的尝试是:
var
MyJpeg:TJPEGImage;
TempStream:TMemoryStream;
........................(略)
MyJpeg:=TJPEGImage.Create;
TempStream:=TMemoryStream.Create;
MyJpeg.LoadFromFile(FileName);
MyJpeg.SaveToStream(TempStream);
TempStream.Position:=0;
ClientDataSet.Close;
ClientDataSet.Params.CreateParams(ftBlob,'Pics',ptInput);
ClientDataSet.CommandText:='insert into tablename pics valuesPics)';
ClientDataSet.Params.ParamsByName('Pics').Loadfromstream(TempStream);
ClientDataSet.Execute;
执行结果是往数据库里添加了4个字节的东西,如果在Image控件中(已作转换)显示则提示'Jpeg Error #53',对该字段导出到图片文件则只有4个字节,而且也不是图片文件;请问该如何处理?
我在大富翁论坛上搜索了很多次,发现只能搜到2003年左右的帖子,所以得到的信息很少,不知有没有人实现?