51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2792|回复: 5
打印 上一主题 下一主题

winrunner 连接数据库的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-23 18:28:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在有一个问题:
1.从EXCEL中读取数据BILL_ID;
2.然后根据BILL_ID到数据库中查询OS_STATUS
3.根据OS_STATUS不同值,执行不同的录制脚本 ,

在winrunner 中怎么实现第2步,第3步?sdlkfj9
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-24 11:41:47 | 只看该作者

连接数据库小结

如果你的数据库是SQL server.你可以把下列代码复制到你的程序中,并按照注释内容做一些相应的改动。
public OS_STATUS,BILL_ID,recorder_number=0;
while(!recorder_number){
BILL_ID = create_input_dialog("Please give your bill ID");
# Here you can input your Bill_ID. If Bill_ID has been assigned a value,say,from the access,this step is not nessessary.
sql = "select OS_STATUS from tableName where BILL_ID="&BILL_ID;
db_connect("ConnectSample","driver=sql server;server=prcsgifs03;database=CNSMS;uid=sa;pwd=sa",30);
# In the case of choosing SQL server as the database, please refer driver as sql,server as your server name,so do you database,userId and password
db_execute_query("ConnectSample",sql,recorder_number);
#recorder_number is the number of records returnded from the database
if(recorder_number==1){
  OS_STATUS = db_get_field_value("ConnectSample","#"&i,"OS_STATUS");
  switch(OS_STATUS){
   case "STATU1":
    call statu1();
   case "STATU2":
    call statu2();
   #...
   default:
   choice = create_list_dialog("Alert!","Do you want continue?","YES,NO");
   if(choice=="YES"){
    recorder_number = 0;
    continue;
   }
   else
    break;
  }
  
}
else if(recorder_number==0)
  continue;
else
  report_msg("There are more then one OS_STATUS mapping to one Bill ID!");
}
db_disconnect("ConnectSample");




##################################################3
如果你的数据库是Access,只需设置好你的DSN,然后将
db_connect("ConnectSample","driver=sql server;server=prcsgifs03;database=CNSMS;uid=sa;pwd=sa",30);
这句改为
db_connet("ConnectSample","DNS=youdnsName",30);
然后,sql改为
sql = "select OS_STATUS from tableName where BILL_ID="&"'"&BILL_ID&"'";


#######################################################
由于你提供的信息不详细,我没有对代码进行验证。如有疑问可以提供代码或者跟贴。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-11-24 13:43:00 | 只看该作者
关注。sdlkfj1
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-11-28 13:17:37 | 只看该作者

谢谢,我试试:)

谢谢,我试试:)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-11-28 15:11:03 | 只看该作者

现在又有一个问题

我从EXECL中参数化的数据,怎么在winrunner中做为变量应用
比如:
edit_set ("txtBillId", ddt_val(table,"bill_id"));
其中bill_id是参数化execl中的一个字段

我想把他作为SQL中的一个变量
比如
select * from id_map where bill_id="bill_id"

各位大侠知道怎么实现吗?sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-11-28 16:35:42 | 只看该作者

上面的问题,已经解决拉

利用函数ddt_value(table,bill_id)就可以解决上面的问题sdlkfj3
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 18:44 , Processed in 0.090391 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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