在UniObjects for .NET中有两个相关的查询

时间:2014-12-03 11:53:59

标签: vb.net universe uniobjects

上下文

我在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库做到这一点。任何人都可以帮助我吗?

1 个答案:

答案 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

希望这有点帮助。