上下文
我在VB.NET中有一个界面,使用UniObjects for .NET
从UniVerse中提取数据问题
从COB文件中我需要获取FEC.COB字段等于特定日期且字段SEC等于04的所有密钥。
UniVerse数据库专家告诉我,我可以运行以下查询:
SELECT COB WITH FEC.COB > “31/10/2013”
SELECT.ID 1 2 04
但我不知道如何使用UniObjects库做到这一点。任何人都可以帮助我吗?
答案 0 :(得分:1)
我不使用UniObjects,因为我的商店通常通过ODBC获取UniVerse的数据。我的VB也不好,所以我没有太多的元代码,但基本的想法是做这样的事情。
1。)创建一个UV会话。希望你有那么多的努力,因为我可以在旁边没有帮助。
2。)会话建立后通过执行类似的操作执行查询
session.Command.Text = "SELECT COB WITH FEC.COB > '31/10/2013'"
session.Command.Exec
(我将你的双引号改为单引号,宇宙不介意) 3.)如果您只需要ID,可以通过迭代查询返回的选择列表来获取它们。除非在UV查询中另行指定,否则命令行查询将始终返回到列表0。在大多数情况下,您的结果将在session.SelectList(0)
中Dim objSelect As object
Set objSelect = objSession.SelectList(0)
4.。)看起来SelectList对象有一个ReadList方法,它返回一个动态数组对象,你应该能够使用正常的数组循环进行迭代。此外,您可以使用while循环,然后执行您需要执行的操作。
Dim someObject as Object
someObject = objSelect.Next ' Get first ID
Do While Not objSelect.LastRecordRead
' Do something here with someObject. Maybe ToString it or something
someObject = objSelect.Next' Get next ID
Loop
希望这有点帮助。