起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 206|回复: 8

【搞定】请教一段代码**

[复制链接]
发表于 2007-8-20 13:50:55 | 显示全部楼层 |阅读模式
该代码来自于贵公司供应链业务模型\阜阳物资\商业协同系统\公共模块\供应链基础类库下的一个方法。
问题一:TCMDConditionCall、TCMDExecuteSQL、TCMDBatchCall是什么类,功能是什么?
问题二:
    CmdBatch.Add(Cmd1);
    CmdBatch.Add(Cmd2);
    CmdBatch.Add(Cmd3);
    Cmdcc.Expression := CmdGetRecords;
    Cmdcc.Add(0, CmdEmpty);
    Cmdcc.DefaultItem := CmdBatch;
    AConnection.Transaction.Execute(Cmdcc);
这段是Cmdcc这几个属性和方法是什么意思;
问题三:Cmd1、Cmd2、Cmd3这三个插入语句都执行了吗?还是根据什么条件才执行。
问题四:相应的代码换成TQuery以后效率哪个高呢?
谢谢。

1.txt

10.28 KB, 下载次数: 72

回复

使用道具 举报

发表于 2007-8-20 14:10:23 | 显示全部楼层
请问你们在实行啥需求,是哪个用户用到了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-20 14:43:24 | 显示全部楼层
阜阳华润供应链,原代码出错,我想改成TQUERY来更新
回复 支持 反对

使用道具 举报

发表于 2007-8-20 14:55:40 | 显示全部楼层
好,我这里看一下,有结果马上跟贴告知
回复 支持 反对

使用道具 举报

发表于 2007-8-21 08:59:38 | 显示全部楼层
你好!
回复 支持 反对

使用道具 举报

发表于 2007-8-21 09:18:14 | 显示全部楼层
你好!这几个类是平台提供的批事务命令,即一些向应用服务端发出多个SQL命令,并可以根据条件执行其中的部分命令。
TCMDConditionCall:条件命令,可以根据一个条件表达式来执行不同的命令或批命令
TCMDExecuteSQL:SQL命令,一个命令可以执行一条SQL语句
TCMDBatchCall:批命令,可以打包多个TCMDExecuteSQL命令一次执行


    CmdBatch.Add(Cmd1);  //向“批命令”中增加一个TCMDExecuteSQL对象
    CmdBatch.Add(Cmd2);  //向“批命令”中增加一个TCMDExecuteSQL对象
    CmdBatch.Add(Cmd3);  //向“批命令”中增加一个TCMDExecuteSQL对象
    Cmdcc.Expression := CmdGetRecords;  //指定条件表达式为CmdGetRecords,此时CmdGetRecords返回的是记录条数
    Cmdcc.Add(0, CmdEmpty);                //增加条件分支,当CmdGetRecords返回的是0条件当时,就执行CmdEmpty
    Cmdcc.DefaultItem := CmdBatch;        //类似于if语句中的else,“否则”就执行CmdBatch内的所有命令
    AConnection.Transaction.Execute(Cmdcc);  //执行 “条件命令”
回复 支持 反对

使用道具 举报

发表于 2007-8-21 09:21:13 | 显示全部楼层
批命令执行的效率理论上来说,应该和tquery 是一样的,差别不大。但这段逻辑可能写为存储过程可能会效率好一点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-21 10:06:11 | 显示全部楼层
谢谢,可以结帖了
回复 支持 反对

使用道具 举报

发表于 2007-8-21 10:43:51 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 06:22 , Processed in 0.040954 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表