sql - 将 SQL 查询中的列插入到 HPE UFT 中的数据列中

标签 sql database vba hp-uft

这是 HPE UFT 中成功运行查询并显示消息框的代码。 我希望它将查询结果或至少 1 列查询结果存储在 HPE UFT 数据表中,以便我稍后可以对这些贷款号码运行循环。

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

Desired Result Image

最佳答案

首先,如果您最初在表中定义参数名称会有所帮助,如下所示:

Datatable.AddParameter("LoanNumber", dtGlobal)
Datatable.AddParameter("LoanID", dtGlobal)
Datatable.AddParameter("TexasConversion", dtGlobal)

这将使用您要插入的参数名称设置全局数据表的前三列。

然后,为了方便使用,将 RecordSet 中的数据放入 Array 中:

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.Export("\\Path\To\File\To\Save.xlsx")

如果您在执行此操作时遇到任何问题,请发表评论,我会尝试进一步解释。

关于sql - 将 SQL 查询中的列插入到 HPE UFT 中的数据列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000389/

相关文章:

database - 如何在 Mac 终端窗口中将 sql 文件读入 sqlite 命令

excel - 如何在 Excel-Vba 中以编程方式编码 'undo' 函数?

html - VBA获取在线货币

MySQL 按月、日(不分年份)获取接下来 3 个月的假期

java - 编写自定义数据库 Servlet

Python - 使用 pyodbc 使用来自 Excel 数据连接的信息连接到远程服务器

php - 如果不存在则创建表 - 意外的 T_STRING

Excel 365 VBA 小时和分钟格式

sql - 不使用 NewID() 的 SQL 上的随机数

mysql - 我可以将带有 JOIN 的 SQL 语句分解为更小的查询或优化查询吗?