起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 365|回复: 13

【结贴】如何用代码调用业务参数。

[复制链接]
发表于 2009-8-4 20:19:53 | 显示全部楼层 |阅读模式
需求:(以员工表举例)
    员工表的编号:我自己建了一个产生员工编号的“业务参数A”,然后用这个“业务参数A”自动填充员工表的编号,
    现在员工表数据有两种插入方式,一部分是通过常规方法保存的,另一部分是通过TQuery插入的,
    用TQuery插入数据时,为保证唯一约束,所以我需要通过代码来调用上述的“业务参数A”,请问用代码如何做到这一点呢?
回复

使用道具 举报

发表于 2009-8-4 21:12:09 | 显示全部楼层
请楼主在论坛里搜索一下,关键字:业务参数*代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:49:34 | 显示全部楼层
我的代码是这样写的:
lParam := COMMONUTILS.TCOMMONUTILS.GetParam(Self.Context,
                    'Biz:CBSGLXTYWCSZ.ParamGroup', 'GCJLBH');
          lRecordId := Variants.VarToStr(lParam.Value);
//获取业务参数自动编号

lQuery.CommandText := 'Insert into T_RECORD_INFO(recordId,recordDate,createDate,recorderId,operatorId,conProId,opinionInfoId) values('''+ lRecordId +''','''+ lRecordTime + ''','''+ Sysutils.DateToStr(Sysutils.now) + ''',''' + lRecorderId + ''','''+ lEmployeeId +''',''' + lContract + ''',''' + lOpinionParentId + ''')';
lQuery.Execute;
然后用TQuery插入T_RECORD_INFO表,其中recordId就是上述取的lRecordId
现将断点设在 lRecordId := Variants.VarToStr(lParam.Value);  这一行代码的时候  ctrl+F7如下图:编号以‘85’结尾!

3c6c4cb4-a9bd-4d1b-9398-4c1b42e7e9ff.jpg

19.85 KB, 下载次数: 203

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:51:32 | 显示全部楼层
将断点设在这行代码的时候:
lQuery.CommandText := 'Insert into T_RECORD_INFO(recordId,recordDate,createDate,recorderId,operatorId,conProId,opinionInfoId) values('''+ lRecordId +''','''+ lRecordTime + ''','''+ Sysutils.DateToStr(Sysutils.now) + ''',''' + lRecorderId + ''','''+ lEmployeeId +''',''' + lContract + ''',''' + lOpinionParentId + ''')';
ctrl+F7如下图
编号以“86”结尾

7cd5b516-cf05-42cf-adaa-040a73c43af3.jpg

23.91 KB, 下载次数: 203

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:53:24 | 显示全部楼层
再往下执行代码: lQuery.Execute;
     这一行的时候报如下图错误

  end;
   finally
     lQuery.Refresh;
     lQuery.Free;
   end;

c470ac3e-0ffb-4039-b009-d35baf62b13d.jpg

24.78 KB, 下载次数: 207

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:55:19 | 显示全部楼层
最后到客户端页面的时候,刷新,数据保存成功,如下图:

0c8b0a34-a98c-4d5c-aedd-30f7f2e64f40.jpg

10.96 KB, 下载次数: 201

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:57:11 | 显示全部楼层
版主:请问这是怎么回事,TQuery不是不能触发定义在数据字典上自动动填充属性吗?
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:15:20 | 显示全部楼层
tquery不会触发数据表的所有定义。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 11:18:35 | 显示全部楼层
这样的话,为什么会出现3楼、4楼,编号不一样的现象呢?因为代码多,不好描述,能不能帮远程一下!
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:23:23 | 显示全部楼层
你可以做一个简单的功能,测试一下的。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 12:24 , Processed in 0.037975 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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