Advantage database server 使用Advantage数据库服务器和JDBC连接

Advantage database server 使用Advantage数据库服务器和JDBC连接,advantage-database-server,Advantage Database Server,我试图弄清楚如何使用JDBC连接和SQL语句来读取驻留在Advantage数据库服务器上的DBF/CDX表(使用免费连接)并查找“已删除”的记录。(逻辑删除而非物理删除的记录。) 我知道我可以使用 连接属性,但是我的问题是如何包括它们和 然后再确认他们 不幸的是,我不认为有一种简单的方法可以通过JDBC和纯SQL解决方案实现这一点。如您所述,可以通过包含ShowDeleted=true来显示逻辑删除的记录。但这样做之后,就无法在SQL语句中区分已删除和未删除的DBF记录 也许可以编写一个使用导航

我试图弄清楚如何使用JDBC连接和SQL语句来读取驻留在Advantage数据库服务器上的DBF/CDX表(使用免费连接)并查找“已删除”的记录。(逻辑删除而非物理删除的记录。)

我知道我可以使用 连接属性,但是我的问题是如何包括它们和 然后再确认他们


不幸的是,我不认为有一种简单的方法可以通过JDBC和纯SQL解决方案实现这一点。如您所述,可以通过包含
ShowDeleted=true来显示逻辑删除的记录。但这样做之后,就无法在SQL语句中区分已删除和未删除的DBF记录

也许可以编写一个使用导航方法返回逻辑删除记录的信息的应用程序,但这可能需要从头开始做相当多的工作。另一个想法(相当混乱/丑陋的想法)可能是使用两个单独的连接到同一个表,其中一个显示已删除的记录,另一个不显示,然后获取rowid并使用它隔离已删除的记录。不好玩


它现在对您没有帮助,但即将发布的版本(v12)将包含一个SQL标量函数
DELETED()
,该函数为逻辑删除的记录返回true/false。这正是您需要的,但要到2014年晚些时候才能提供

谢谢马克…我已经开始沿着你提到的创建(2)独立结果集的道路走下去;1个包含已删除和未删除的记录(使用
ShowDeleted=true
),1个仅包含未删除的记录(使用
ShowDeleted=false
)。在获得这些结果集后,我将对它们进行比较,以筛选出“已删除”的记录。感谢您提供有关ADS 12功能的信息,该功能包含
deleted()
scalar函数……这将非常有用。