我在扩展数据记录方式时遇到了一些麻烦。我正在做的是连接到Oracle数据库,选择详细信息,然后输出到由管道分隔的日志文件。连接工作,查询工作,但我只获得写入我的文件的第一行数据。搜索类似情况和其他基于记录集的问题不会返回解决方案。下面是实际执行任何工作的代码片段:
sSQL = "select * from MONITOR.VP_EXPECTED_DETAILS"
rsOracle.open sSQL, sConnection
WHILE NOT rsOracle.EOF
sOracleOutput = rsOracle.Fields.Item(0)&"|" _
& rsOracle.Fields.Item(1)&"|" _
& rsOracle.Fields.Item(2)&"|" _
& rsOracle.Fields.Item(3)&"|" _
& rsOracle.Fields.Item(4)&"|" _
& rsOracle.Fields.Item(5)&"|" _
& rsOracle.Fields.Item(6)
rsOracle.MoveNext
WEND
oFile.WriteLine sOracleOutput
oFile.close
答案 0 :(得分:3)
将WriteLine
语句移至记录循环中。
此外:
虽然与您的问题没有直接关系,但在检索行值时省略Fields
和Item
可以使代码更简洁。 Item
是Fields
的默认属性。 Fields
是Recordset
对象的默认属性。因此,它们都可以省略。
sOracleOutput = rsOracle(0) & "|" & rsOracle(1) & "|" ...