关于在客户端利用TClientDataSet保存blob类型的字段问题
创建一远程数据模块,添加组件并联接到一个数据库中,该数据库有一个大型二进制的字段(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类型的字段?
...全文
相关推荐
三层架构Delphi+Java+Oracle模式的实现
三层架构Delphi+Java+Oracle模式的实现之pdf文件
TClientDataSet学习笔记
目录 1.动态索引 2.多层结构中主从表的实现 3.Taggregates使用 4.在单层数据库中不要BDE 5.三层结构的公文包的实现方法 6.可以对data赋值(从另一个数据集取值) 7.附加数据取得 8.ClientDataSet与服务器端query连接方法 9.数据的更新管理 10.可写的recno 11.数据保存 ClientDataSet是一个非常好用的控件,尤其在三层开发中具有数据聚合的作用,这里罗列一下他的基本功能,记录自己学习的过程。 1.动态索引 proce
TClientDataSet用法
TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端。TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫DBCLIENT.DLL。在客户端,也不需要用TDatabase构件,因为客户端并不直接连接数据库。
delphi保存文件到数据库中
delphi保存文件到数据库中
如何用DELPHI实现把WORD、EXCEL和图片等存储到数据库
如何用DELPHI实现把WORD、EXCEL和图片等存储到数据库


网络及通讯开发
