我对Unidata完全陌生。我正在尝试编写一个可以从Unidata查询记录的Java应用程序。我下载了U2 Clients软件包并安装了UniDK。我遵循了这个example。使用asjava.zip中的库,我能够从Unidata中的文件中按键/ ID获得单个记录。
我遇到了有关使用JPA的U2客户端文档。我想知道是否有其他选项可以编写数据库查询以获取具有WHERE条件的记录列表,而无需实现JPA。我正在寻找类似的使用PHP编写MySQL查询的方法。
谢谢。
最佳答案
是的你可以。首先,您需要学习有关UniQuery的知识,UniQuery是UniData数据库的查询语言。您可以在manuals on the Rocket Software site中找到它。
举例来说,假设您有一个名为customers
的文件以及名为name
和`age1的字段
SELECT customers WITH name LIKE "Dan..." AND age GT "20"
该选择语句将生成记录ID的列表,这些记录ID的
name
以Dan开头,而age
大于20。在您的代码中,您将需要首先执行SELECT语句。假设
udSess
是您创建的会话:UniCommand cmd = udSess.command(); // Create an object to run the command
cmd.setCommand("SELECT customers WITH name LIKE 'Dan...' AND age GT '20'")
cmd.exec()
UniSelectList sl = udSess.selectList(0);
while (!sl.isLastRecordRead())
{
UniString recordID = sl.next();
// Read your record here, using recordID
}