51Testing软件测试论坛

标题: DATATABLE里的列名作为变量? [打印本页]

作者: FLY000    时间: 2009-2-9 16:14
标题: DATATABLE里的列名作为变量?
For i= 1 to nRowAdd
    'Call InitDatatable(add,nRowAdd,nColumnAdd)
        DataTable.Getsheet("add").SetCurrentRow(i)
        ClickDep=DataTable.Value("ClickDep","add")       
        OrgId=DataTable.Value("OrgId","add")       
        OrgName=DataTable.Value("OrgName","add")       
        OrgParid=DataTable.Value("OrgParid","add")       
        IfEnable=DataTable.Value("IfEnable","add")
        Ifjc=DataTable.Value("Ifjc","add")
        Resumer=DataTable.Value("Resumer","add")       
        Tel=DataTable.Value("Tel","add")
        Memo=DataTable.Value("Memo","add")       
        IfBlank=DataTable.Value("IfBlank","add")       
        IfDrop=DataTable.Value("IfDrop","add")       
        ExpectedResults=DataTable.Value("ExpectedResults","add")
end for
我想把以上这段程序写成一个函数,DATATABLE的列名作为变量,取该列对应的值赋给该变量,并且这些变量值都要返回。
下面这段代码,我知道不对,但是要改成什么样?
Function InitDatatable(SheetName,CurrentRow,nColumn)
        DataTable.GetSheet(SheetName).SetCurrentRow(CurrentRow)
        For i=1 to nColumn
                pName=DataTable.GetSheet(SheetName).GetParameter(i).Name       
                pName=DataTable.Value(pName,SheetName)
                return pName
        Next
End Function

[ 本帖最后由 FLY000 于 2009-4-30 10:11 编辑 ]
作者: zte_boy    时间: 2009-2-10 09:09
列也是可以通过序列来操作的。
如:第一列是ClickDep
既可以ClickDep=DataTable.Value("ClickDep","add")  
也可以ClickDep=DataTable.Value(1,add")
所以只要做循环就可以了
作者: dreamever    时间: 2009-2-10 09:10
楼主不地道,明明问的是QTP的datatable,但是标题写的却是excel,把我骗进来了

作者: FLY000    时间: 2009-2-10 18:54
SORRY,我晕了,写错了。
关键是这一句:
pName=DataTable.GetSheet(SheetName).GetParameter(i).Name
我想取每列的列名  DataTable.GetSheet(SheetName).GetParameter(i).Name,作为一个变量。
作者: FLY000    时间: 2009-4-30 10:10
不知道,我的意思说明白了没




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