51Testing软件测试论坛
标题:
鳖的太久的问题,望大家帮我解决下子
[打印本页]
作者:
断寒
时间:
2006-8-1 09:02
标题:
鳖的太久的问题,望大家帮我解决下子
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:
可以给我个例子参考一下吗,我这个问题困扰的时间太久了,心里憋的慌 .
作者:
断寒
时间:
2006-8-1 13:11
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保存到一个变量中去"这句话的意思了.,这样写,我的脚本很顺利通过,可能中间有段代码有点冗余,不过总算算是能把软件的工作流自动跑下去了.哈哈,谢谢!!!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2