Sql 数据库到阵列
我正在尝试编写一个VBScript UFT测试,从一个表中获取一组数据,它将是100条记录。我只想选择一列,你可以从下面的查询中看到 从承租人中选择前100名l_名称 我能够在消息框中显示第一条记录,但我只是做了一个测试。我现在要做的是将每条记录添加到一个数组中,以便以后可以循环使用它们来更改WebEdit文本框的值 下面是我当前的代码,但是我有点难以理解 Dim数据库查询 DBQuery=从承租人中选择前100名l_名称 openprovider=sqloledb.1;Server=TestServer;用户Id=用户;密码=Test123;数据库=DBTest objRecordSet.opendbquery,objConnection '返回结果集' 对于ObjRecordset.Fields.Item中的每个元素 Value=objRecordSet.fields.itemelement MsgBox值 下一个 “释放资源” objRecordSet.Close 对象连接。关闭 Set objConnection=Nothing Set objRecordSet=NothingSql 数据库到阵列,sql,vbscript,hp-uft,sqloledb,Sql,Vbscript,Hp Uft,Sqloledb,我正在尝试编写一个VBScript UFT测试,从一个表中获取一组数据,它将是100条记录。我只想选择一列,你可以从下面的查询中看到 从承租人中选择前100名l_名称 我能够在消息框中显示第一条记录,但我只是做了一个测试。我现在要做的是将每条记录添加到一个数组中,以便以后可以循环使用它们来更改WebEdit文本框的值 下面是我当前的代码,但是我有点难以理解 Dim数据库查询 DBQuery=从承租人中选择前100名l_名称 openprovider=sqloledb.1;Server=TestS
我假设通过返回的记录进行循环是可行的。您的循环将只执行一次,因为您不是在记录上进行迭代,而是在列字段上进行迭代,其中只有一个字段。然后检索该列的值时,将获得当前记录(即第一条记录)的值 由于不再有列,循环结束 下面是迭代记录的方式:
Do While Not objRecordSet.EOF
value = objRecordSet("l_Name")
' do something with value
'
objRecordSet.MoveNext
Loop
您的循环将只执行一次,因为您不是在记录上迭代,而是在只有一个字段的列字段上迭代。然后检索该列的值时,将获得当前记录(即第一条记录)的值 由于不再有列,循环结束 下面是迭代记录的方式:
Do While Not objRecordSet.EOF
value = objRecordSet("l_Name")
' do something with value
'
objRecordSet.MoveNext
Loop
解决ADODB.Recordset循环问题的方法是什么?但是如果您想获取记录集并将其放入数组中,有一种更简单的方法
模糊数据
'... 省略记录集连接和执行代码
如果不是objRecordset.EOF,则data=objRecordset.GetRows
GetRows返回一个二维数组。第一个元素包含列,第二个元素包含行,例如,使用上面的数据数组访问第五行的第二列
如果是IsArraydata那么
值=数据1,4
如果结束
注意:数组变量元素的序数从零开始,因此第二列是1,第五行是4
您可以使用类似For的循环遍历记录数据
昏暗的一排,一排
如果是IsArraydata那么
行=UBounddata,2
对于行=0到行
'当前行的第一列
WScript.Echo数据0,第行
'当前行的第二列
WScript.Echo数据1,第行
'... 等
下一个
如果结束
解决ADODB.Recordset循环问题的方法是什么?但是如果您想获取记录集并将其放入数组中,有一种更简单的方法
模糊数据
'... 省略记录集连接和执行代码
如果不是objRecordset.EOF,则data=objRecordset.GetRows
GetRows返回一个二维数组。第一个元素包含列,第二个元素包含行,例如,使用上面的数据数组访问第五行的第二列
如果是IsArraydata那么
值=数据1,4
如果结束
注意:数组变量元素的序数从零开始,因此第二列是1,第五行是4
您可以使用类似For的循环遍历记录数据
昏暗的一排,一排
如果是IsArraydata那么
行=UBounddata,2
对于行=0到行
'当前行的第一列
WScript.Echo数据0,第行
'当前行的第二列
WScript.Echo数据1,第行
'... 等
下一个
如果结束