51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3781|回复: 7
打印 上一主题 下一主题

有关DATA DRIVING的问题!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-3-13 11:24:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一个问题 :我用WR录制脚本, 从某个TABLE里面取数据,得到一些数据后,我希望将得到的这些数据写到另外一个TABLE里面。。。

但是我试了N次,写到新的TABLE里面的时候,后面写入的数据总是把前面已经写入的数据覆盖了,最后得到的TABLE就只有一行数据。。。

怎么回事?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2005-3-17 16:17:43 | 只看该作者
把你的SQL语句贴出来
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-3-19 00:21:34 | 只看该作者
那可能你写和TSL应该没有运用好!或者说你
控制好你的循环语句!
把脚本贴出来!
让大家都帮看看!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2005-3-25 17:58:37 | 只看该作者
table1 = "BuyInfo.xls";
table2 = "TEST.xls";
rc = ddt_open(table1, DDT_MODE_READWRITE);
rc1 = ddt_open(table2, DDT_MODE_READWRITE);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table1.");
if (rc1!= E_OK && rc1 != E_FILE_OPEN)
        pause("Cannot open table2.");

ddt_get_row_count(table1,table1_RowCount);
for(table1_Row = 1; table1_Row <= table1_RowCount; table1_Row ++)
{
        ddt_set_row(table1,table1_Row);
       
        # Flight Reservation
                set_window ("Flight Reservation", 1);
                menu_select_item ("File;New Order");
                obj_type ("MSMaskWndClass",ddt_val(table1,"Data"));
                list_select_item ("Fly From:", ddt_val(table1,"Fly_From"));  # Item Number 2;
                list_select_item ("Fly To:", ddt_val(table1,"Fly_To"));  # Item Number 1;
                obj_mouse_click ("FLIGHT", 28, 45, LEFT);
       
        # Flights Table
                set_window ("Flights Table", 0);
                button_press ("OK");
       
        # Flight Reservation
                set_window ("Flight Reservation", 2);
                edit_set ("Name:", "Randy");
                edit_set ("Tickets:", ddt_val(table1,"Tickets"));
                button_press ("Insert Order");
                obj_wait_info("Insert Done...","label","Insert Done...",10);
            obj_get_text("Price:", Price);        # $100.80
                   obj_get_text("Total:", Total);        # $100.80
            ddt_set_row(table2,table1_Row);
                ddt_set_val(table2,"Price",Price);
                ddt_set_val(table2,"Total",Total);
            ddt_save(table2);
}
ddt_close(table1);
ddt_close(table2);
往TABLE2里面写数据的时候,最后总是只有一行...而且是最后的数据将前面的覆盖!
我想将每次得到的数据都写到table2里面。.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-3-25 19:19:56 | 只看该作者
在ddt_set_val之前加上一句ddt_set_row可以么?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-3-28 08:55:32 | 只看该作者
因为你的table2开始是空的吧?这样,这个table2的行数实际是1(用来编辑的1行),这样,对table2使用ddt_set_row就无效了,因此它始终只会停留在第一行。改用ddt_set_val_by_row(tableName, row, colName, value)一句就可以了,row就是所要设置的行,把ddt_set_row和ddt_set_val去掉
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-3-28 09:09:53 | 只看该作者
注:第一次执行以后(即赋值并save以后)在row count范围内使用ddt_set_row就有效了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2005-3-28 23:08:41 | 只看该作者
非常感谢战友!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-12 10:11 , Processed in 0.082176 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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