将SQL查询中的列插入HPE UFT中的数据列
这是HPE UFT中成功运行查询并显示消息框的代码。 我希望它将查询结果或至少一列查询结果存储在HPE UFT数据表中,以便以后可以对这些贷款编号运行循环将SQL查询中的列插入HPE UFT中的数据列,sql,database,vba,hp-uft,Sql,Database,Vba,Hp Uft,这是HPE UFT中成功运行查询并显示消息框的代码。 我希望它将查询结果或至少一列查询结果存储在HPE UFT数据表中,以便以后可以对这些贷款编号运行循环 Set objConnection = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.Recordset") objConnection.open "provider=123ABC;Server=T1;User Id=****; Passw
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.open "provider=123ABC;Server=T1;User Id=****;
Password=****; Database=i_prod;Trusted_Connection=Yes"
sqlQuery="SELECT Table1 AS LoanNumber, lm.loanrecordid, clm.istexasconversion as TexasConversion FROM Table1 lm WITH (NOLOCK) LEFT JOIN Table2 clm WITH (NOLOCK) ON clm.lenderdatabaseid = lm.lenderdatabaseid AND clm.loanrecordid = lm.loanrecordid Where clm.istexasconversion IS NOT NULL"
objRecordSet.open sqlQuery, objConnection
value = objRecordSet.fields.item(0)
msgbox Value
objRecordSet.Close
objConnection.Close
Set objConnection = Nothing
Set objRecordSet = Nothing
这是SQL中使用的查询
SELECT
lm.loanid AS LoanNumber
,Column1
,column2 as Texas
FROM table1 lm WITH (NOLOCK)
LEFT JOIN table2 clm WITH (NOLOCK)
ON clm.lenderdatabaseid = lm.lenderdatabaseid
AND clm.loanrecordid = lm.loanrecordid
首先,如果您最初在表中定义参数名称,如下所示,则会有所帮助:
Datatable.AddParameter("LoanNumber", dtGlobal)
Datatable.AddParameter("LoanID", dtGlobal)
Datatable.AddParameter("TexasConversion", dtGlobal)
这将使用要插入的参数的名称设置全局数据表的前三列
然后,为了便于使用,将记录集中的数据放入数组中
:
myArray = objRecordSet.GetRows ' do this before you close the recordset
最后,循环二维数组,用数据填充表格:
For myLoop = 0 to UBound(myArray, 2) ' loop over the total rows
DataTable.SetCurrentRow(myLoop + 1) ' +1 as row count starts from 1 not 0
Datatable("LoanNumber") = myArray(0, myLoop)
Datatable("LoanID") = myArray(1, myLoop)
Datatable("TexasConversion") = myArray(2, myLoop)
Next
如果需要存储datatable的副本(除非计划在运行期间仅使用此数据,否则需要):
如果您在这方面有任何问题,请发表评论,我将尝试进一步解释。您可以使用数据库输出值来输出列中的值。
创建数据库输出值的步骤:
选择插入>输出值>数据库输出值
创建连接字符串
在查询定义中选择“手动指定SQL语句”单选按钮和最大行数
在Sql语句编辑字段中插入查询
Datatable.Export("\\Path\To\File\To\Save.xlsx")