我有一个使用DataAbstract和RemObjects构建的客户机/服务器应用程序,其中客户机传输一个二进制变量供服务器放入DB中。服务器函数如下所示
function SetItemContent(const anItemId: UnicodeString; const anItemContent: Binary): Boolean;但是我不知道如何从服务器访问表来将该二进制变量保存到blob中。我在DA文档中也找不到任何参考。
发布于 2011-06-11 23:21:23
您可以在服务实现模块上使用TDALocalDataAdapter,并挂钩TDAMemDataTable。然后,您可以使用Dynamic Where (或参数化的DataTable)来使用普通的TDataset技术查找和更新记录。(即插入、编辑、发布)
您应该将任何更新都包含在事务中。使用Connection.BeginTransaction、RollbackTransaction和CommitTransaction。
编辑====
您还可以使用IDASQLCommand: use Connection.NewCommand方法。您可以直接将SQL作为参数提供给它,或者(最好是IMHO++)提供您在模式中创建的参数化update/insert SQL命令的名称。
我猜您仍然需要知道是否插入/更新,所以您可以使用来自Connection.NewDataset的IDADataset方法通过MyDataset.IsEmpty来建立这一点。首先在架构中创建Dataset或传递SQL。
关于使用事务的观点仍然适用于此方法。
++更好,因为这允许您通过对每个数据表或命令对象使用多个语句来更好地支持多个DB后端。
https://stackoverflow.com/questions/6315846
复制相似问题