Chinaunix首页 | 论坛 | 博客
  • 博客访问: 734718
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:44:49

        Winrunner中有一个非常好用的数据库检查点功能,它可以提供简洁的数据库连接和检查,只要对ODBC稍作了解即可简单几步就操作完成。但是如果你想对数据库进行更多更“个性化”的操作,则只有自己编写脚本语言来连接和操作了,下面简单介绍几个数据库连接和操作的常用函数,同样是以SQL Server中TD数据库的为例,涉及到的函数有:db_connect,db_execute_query,db_get_field_value,db_get_row,db_get_headers,split,db_disconnect

        例子(已经可以运行):

        #    db_connect连接数据库

        if(db_connect("query1","DSN=TD_DOG;Descrīption=TD_DOG;UID=td;PWD=tdtdtd;APP=WinRunner;WSID=TESTLAB2;DATABASE=gpt_gogs_db",30)!=0)

         report_msg("connect error");

        else

         report_msg("cnnnect ok");

        #    给查询语句赋值

        sql = "select bg_bug_id,bg_status from bug where bg_status='closed'";

        #    执行查询,sql_result保存查询到几条记录,只是记录的行数而非记录内容

        db_execute_query("query1",sql,sql_result);

        report_msg(sql_result);

        #    db_get_field_value返回指定行,指定列的单元格内容,注意参数中第一行为#0

        sql_record = db_get_field_value("query1","#0","bg_bug_id");

        report_msg(sql_record);

        #    db_get_row是返回指定行的查询内容,如果你一行中包含很多列,则这一行所有列的制都返回,第一行同样是以0表示

        db_get_row("query1",0,sql_row);

        report_msg(sql_row);

        #    split函数用来分割不同列的值,并保存在数组中(这里我保存在数组line_array里),函数的返回值是数组元素个数,数组第一个元素下标为1

        sql_row_num = split(sql_row,line_array);

        for(x=1;x<=sql_row_num;x++)    #    循环输出数组中的内容

         report_msg(line_array[x]);

        #    db_get_headers函数用来得到查询中的“列头”,在这里例子中我查询两列:bg_bug_id,bg_status 于是那就返回这两列的名字

        db_get_headers("query1",column_num,headers);

        report_msg(column_num);

        #    同样使用split函数把两列的名字存到数组中去

        sql_column_num = split(headers,header_array);

        for(x=1;x<=sql_column_num;x++)

         report_msg(header_array[x]);

        #    最后关闭数据库连接

        db_disconnect("query1");

【责编:michael】

--------------------next---------------------

阅读(365) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~