关于在客户端利用TClientDataSet保存blob类型的字段问题

adventurezl adventurezl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

创建一远程数据模块,添加组件并联接到一个数据库中,该数据库有一个大型二进制的字段(blob)FILE.客户端利用TClientDataSet进行更新,但是无法更新数据库,代码如下:
if (Edit2->Text.IsEmpty() )
return;
TMemoryStream *tmpStream = new TMemoryStream();
TBlobField *tmpField;
tmpStream->LoadFromFile(OpenDialog1->FileName);
client_DM->cdsFile_test->Close() ;
client_DM->cdsFile_test->Open() ;
client_DM->cdsFile_test->Edit();
client_DM->cdsFile_test->Append();
client_DM->cdsFile_test->Edit();
client_DM->cdsFile_test->FieldByName("ID")->AsString=Edit3->Text;
client_DM->cdsFile_test->FieldByName("NAME")->AsString=ExtractFileName(OpenDialog1->FileName);
tmpField = (TBlobField *)client_DM->cdsFile_test->FieldByName("FILE");
tmpField->LoadFromStream(tmpStream);
client_DM->cdsFile_test->Post() ;
client_DM->cdsFile_test->ApplyUpdates(-1);
tmpField = NULL;
delete tmpStream;

运行之后,只是在本地内存中修改,而无法保存到远程数据库中,请问原因何在?是不是ApplyUpdates函数不能保存blob类型的字段?
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部