How to get data from a particular row and a particular column from Data Table in QTP?
Check this Post for Datatable Methods.
QTP Script to get particular cell value from datatable in the specified row.
Below script is for retrieving 2rd row,2rd column cell value from datatable.
In datatable we have values as shown below
A B C
1 QQ xx
2 TT yy
3 PP zz
Script to get value "TT" from datatable is
Method 1
Syntax:Datatable.getsheet("Sheet Name"/Sheet Id).getparameter("Column Name").valuebyrow(Row Number)
msgbox Datatable.getsheet("Global").getparameter("B").valuebyrow(2)
Method 2
Syntax:datatable.SetCurrentRow(rownumber)
Cell Vaue=datatable.Value("ColumnName"/Column Number,"SheetName"/Sheet Id)
datatable.SetCurrentRow(2)
msgbox datatable.Value(2,1)
QTP Script to get RowCount of DataTable for Specific Column
QTP Script to get columncount,rowcount,column names of datatable
Script to Get Cell Value of Particular Row and Column from Data Table in QTP
Script to Import Data From Database to Datatable in QTP
Below Script is for importing database(MS Access)data to runtime datatable in QTP.
Dim con,rs
Set con=createobject("adodb.connection")
Set rs=createobject("adodb.recordset")
con.provider="microsoft.jet.oledb.4.0"
con.open"d:\db.mdb"
rs.open"select*from EMP",con
datatable.GetSheet(1).addparameter"EMP_No",""
datatable.GetSheet(1).addparameter"EMP_Name",""
datatable.GetSheet(1).addparameter"EMP_Sal",""
row=1
Do While Not rs.EOF
datatable.SetCurrentRow(row)
datatable.Value (1,1)=rs.fields("empno")
datatable.Value(2,1)=rs.fields("empname")
datatable.Value(3,1)=rs.fields("empsal")
row=row+1
rs.movenext
Loop
"db" is one of the database in MS Access and "EMP" is table in db.
EMP Table has 3 columns(empno,empname,empsal).
empno empname empsal
1 aaa 1000
2 bbb 2000
3 ccc 3000
After running the script u can see EMP table data in runtime datatable.
Output:
EMP_No EMP_Name EMP_Sal
1 aaa 1000
2 bbb 2000
3 ccc 3000