上下文
我在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库来实现这一点。有谁可以帮我?
发布于 2014-12-09 22:32:36
我不使用UniObjects,因为我的商店通常通过ODBC获取UniVerse的数据。另外,我的VB不好,所以我没有太多的元代码,但是基本的想法是这样做。
1.)创建一个UV会话。希望你有这么多的锻炼,因为我可以在那里几乎没有帮助。
2.)会话建立后,通过执行以下操作执行查询
session.Command.Text = "SELECT COB WITH FEC.COB > '31/10/2013'"
session.Command.Exec(我把你的双引号转换成单引号,宇宙不会介意)。
3.)如果您只需要ID,则可以通过迭代查询返回的选择列表来获得它们。除非您在UV查询中另有规定,否则命令行查询将始终返回到list 0。在大多数情况下,您的结果将是session.SelectList(0)。
Dim objSelect As object
Set objSelect = objSession.SelectList(0)4.)看起来,SelectList对象有一个ReadList方法,它返回一个动态数组对象,您应该能够使用普通数组循环迭代这个对象。此外,您还可以使用while循环和next来完成您需要做的事情。
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希望这会有所帮助。
https://stackoverflow.com/questions/27271142
复制相似问题