我只想知道如何使用 Universe 基本子程序从 Universe 数据库表中检索所有记录。我是 Universe 的新手。
4 回答
也许在unibasic中是这样的
OPEN "filename" to FIL ELSE STOP 201,"cannot open filename"
EXECUTE "SELECT filename"
LOOP WHILE READNEXT ID
READ REC FROM FIL,ID ELSE REC = ""
* you now have the entire row in REC
REPEAT
你能提供更多关于你想要做什么的信息吗?
让子例程调用返回 UniVerse 文件的全部内容可能会返回大量数据。我希望您最好只返回项目的子集,以便调用例程一次可以处理一点。
基于评论的新内容:
好的,既然您提到了 19 类文件,我假设您想从文件指向的目录/文件夹中读取一个文件。
在您的子程序中,您可以对类型 19 的文件使用 OPEN,并使用 READ 命令读取该文件。(请注意,您还可以使用 READU、READL、MATREAD、MATREADU 或 MATREADL 来获取目录/文件夹中的整个文件,具体取决于您是否/如何锁定项目以及您是否希望数据处于动态或维度数组。如果您只需要特定属性,则可以使用 READV、READVL 或 READVU 命令。
或者,由于这是 19 类文件,您可以使用顺序读取。使用 OPENSEQ 打开文件并使用 READSEQ 或 READBLK 命令读取。
GitHub上有一篇关于如何执行U2 UniVerse Subroutine的文章和示例代码。
使用 C# (async\await) 和 U2 Toolkit for .NET 异步执行 Rocket MV U2 子程序。将子程序多值输出转换为 Json/Objects/DataTable
这些示例代码基于 C# (async\await),但您也可以用于同步编程,只需少量代码调整。
对于文章:
转到此链接:
阅读“Subroutine-Async.docx”文件。
本文在 GitHub 上的示例代码
转到此链接:
OPEN '',FILENAME TO F.FILE ELSE STOP
SELECT F.FILE
LOOP
READNEXT K.FILE ELSE EXIT
READ R.FILE FROM F.FILE, K.FILE ELSE NULL
PRINT R.FILE
REPEAT
PRINT "All over Red Rover"
文件名应该用引号括起来,即“MYFILE”或“MYFILE”
循环将重复,直到所有记录都被读取,然后退出。