51Testing软件测试论坛

标题: (总是想不明白)为什么 我这样丛excel中导出数据不正确???显示空值.. [打印本页]

作者: sulin1986    时间: 2007-5-21 22:53
标题: (总是想不明白)为什么 我这样丛excel中导出数据不正确???显示空值..
table = "d:\\sulin\\1.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
        ddt_set_row(table,table_Row);
       
}

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{ddt_val_by_row(table,i,"name");
report_msg(ddt_val_by_row(table,i,"name"));
#report_msg(ddt_val(table,"name"));也是空值
}
ddt_close(table);
无奈的很,请帮忙
(总是想不明白)为什么 我这样丛excel中导出数据不正确???显示空值..
作者: sulin1986    时间: 2007-5-21 23:23
table 有四列,name,id,key,rekey
若是如下程序
table = "d:\\sulin\\1.xls";
rc = ddt_open(table, DDT_MODE_READWRITE);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
        ddt_set_row(table,table_Row);
ddt_set_var_by_row(table,"key","123");(好象是这样,具体的给忘了,但是这句话再脚本中绝对正确/)
        
}

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{ddt_val_by_row(table,i,"name");
report_msg(ddt_val_by_row(table,i,"name"));
#report_msg(ddt_val(table,"name"));也是空值

report_msg(ddt_val(table,"key"));#能显示密码值.
}
ddt_close(table);
无奈的很,请帮忙
(总是想不明白)为什么 我这样丛excel中导出数据不正确???
我在做登陆测试,要求输入用户名和密码.
作者: yaqi    时间: 2007-5-25 15:30
name列未参数化?
作者: dionysus    时间: 2007-5-25 23:37
原帖由 sulin1986 于 2007-5-21 22:53 发表
table = "d:\\sulin\\1.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1 ...

这段脚本lz的第二个循环使用错了,应该把report_msg(ddt_val_by_row(table,i,"name"));这句话放到第一个循环中去,并该为report_msg(ddt_val_by_row(table,table_Row,"name"));紧跟在ddt_set_row(table,table_Row);后面。
作者: dionysus    时间: 2007-5-25 23:40
原帖由 sulin1986 于 2007-5-21 23:23 发表
table 有四列,name,id,key,rekey
若是如下程序
table = "d:\\sulin\\1.xls";
rc = ddt_open(table, DDT_MODE_READWRITE);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
d ...

for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{ddt_val_by_row(table,i,"name");
report_msg(ddt_val_by_row(table,i,"name"));
#report_msg(ddt_val(table,"name"));也是空值

report_msg(ddt_val(table,"key"));#能显示密码值.
}
lz这里的参数 i 有问题,你没有给出 i 的数值,这里应该是table的行,应该改为table_Row
作者: sulin1986    时间: 2007-5-29 11:53
谢谢 大家的支持啊---
作者: holee    时间: 2007-7-3 16:54
啊,终于明白了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2