51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1248|回复: 1
打印 上一主题 下一主题

[求助] 鳖的太久的问题,望大家帮我解决下子

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-1 09:02:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
char msgid[80];
int i;
char WORKITEMID1[10];
lr_load_dll("d:\\getdata_382.dll");
i=init_db("DRIVER={Oracle in OraHome92};SERVER=TMS119;UID=USR_SYNCHRO;PWD=SYNCHRO;DBQ=TMS119;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;");
lr_output_message("i=%d",i);
i+=execSQL("select max(workitem_id) from t_workitem where participant={ID}");
lr_output_message("i=%d",i);
i+=bindCol(1,msgid,"i",7);
lr_output_message("i=%d",i);
i=fetchData()+1;
lr_output_message("i=%d",i);
lr_output_message("i=%s",msgid);
disConnect();


代码中红色部分,因为需要关联SQL中的where条件,{ID}类型是file.选的是id.txt

问题,可以这样做关联吗,但是用lr_output_message查看,ID并没有传递数据进去.不知道这个字段怎么做关联.DLL选用的是斑竹的DLL.


kernzhang:
你需要将他转化成LPSTR类型!及你要首先通过lr_eval_string()函数将值转化出来!

wo:
i+=execSQL("select workitem_id from t_workitem where process_ins_id=%d",lr_eval_string("{LCID}"));
这样写在lr_output_message看语句是对的,但是实际中没有执行.

kernzhang:
呵呵!你别偷懒了!你先把要执行的SQL保存到一个变量中去!但是这个这里不能有LR提供的内部变量

wo:
可以给我个例子参考一下吗,我这个问题困扰的时间太久了,心里憋的慌 .
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-8-1 13:11:24 | 只看该作者
char msgid[80];
     int m;
     int i;
     int p;
     char str[1024];
     char pid[64];
     char WORKITEMID1[80];

     lr_load_dll("d:\\getdata_382.dll");
     i=init_db("DRIVER={Oracle in OraHome92};SERVER=192.168.103.119:1521;UID=USR_SYNCHRO;PWD=SYNCHRO;DBQ=TMS;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;");
     lr_output_message("i=%d",i);
     m= atoi(lr_eval_string("{LCID}"));
     p = itoa(m,pid,10);
     strcpy(str,"select workitem_id from t_workitem where process_ins_id=");
     strcat(str,p);
     lr_output_message("str=%s",str);
     i+=execSQL(str);
   //i+=execSQL("select workitem_id from t_workitem where process_ins_id=3768");
     lr_output_message("i=%d",i);
     i+=bindCol(1,msgid,"i",7);
     lr_output_message("i=%d",i);
     i=fetchData();
     lr_output_message("i=%d",i);
     lr_output_message("i=%s",msgid);
     disConnect();

     i=atoi(msgid);
     lr_output_message("i=%d",i);
     itoa(i,WORKITEMID1,10);
     lr_output_message("WORKITEMID1=%s",WORKITEMID1);

     lr_save_string(WORKITEMID1,"WORKITEMID1");

我是看了kernzhang发的那个预定机票的DEMO后,突然一下明白"要执行的SQL保存到一个变量中去"这句话的意思了.,这样写,我的脚本很顺利通过,可能中间有段代码有点冗余,不过总算算是能把软件的工作流自动跑下去了.哈哈,谢谢!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-27 06:23 , Processed in 0.066602 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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