我有一个与数据库无关的Java程序,在插入时,我需要知道是否由于重复的键而引发了SQLException。
如果我使用的是单个数据库驱动程序,那么我将只使用ErrorCode,但是由于可以使用非常不同的引擎,因此ErrorCode是不同的。
有人做过吗?有任何想法吗?
许多TIA!
编辑:
我有一个配置文件,其中存储了驱动程序类(即:org.apache.derby.jdbc.ClientDriver)和其他一些所需的信息(即:用户名,密码,URL
…)。该连接始终以“ java.SQL.Connection”的形式传递,因此我并不在乎使用的是什么驱动程序。
使用基本的JDBC,实际上没有办法以跨数据库的方式来完成您要说的话。正如您提到的,可以使用 getErrorCode ,但需要特定于供应商的错误代码。
我看到的解决此问题的唯一三种方法是:
我的建议是编写您的代码,以尽可能避免该问题,然后(如果绝对必要)使用#3。
我试图找出两个矩形是否相互重叠。我将下面的矩形表示为< code>[x1,x2] x [y1,y2] 我只需要一个伪代码,我可以实现它来查找矩形是否彼此重叠。
问题内容: 我正在使用SQL Server 2008,并且拥有一个数据库,其中包含150个以上具有重复索引的表。 我发现一些SQL脚本将列出重复的索引,但是我不确定是否应该信任它们。据说他们说我有400多个重复索引;我不确定这是否正确,因此不希望使用它们来自动删除重复项。 如何确定找到重复索引并将其删除? 问题答案: 查看Tom LaRock出色的“如何查找重复索引”博客文章-他详细解释了如何进行
我知道如何检查给定的树是否是二叉树。但问题是,如果树包含重复的值,该怎么办。 如何检查可能包含重复值的树是否是二叉查找树重复值必须位于树/子树的右侧。
给定一个完整的二叉树,其中节点的索引从1到N(索引1是根,N是树中的节点数)。在O(logN)时间复杂度下,我们能发现树中是否存在具有特定索引的节点吗? 下面我写了在O(N)中运行的代码 当节点位于右子树深处时,O(N)解似乎效率很低。我们可以避免在根级别访问左子树吗? 利用O(logN)时间复杂度是一个完整的二叉树这一事实,有可能实现这一目标吗?
问题内容: 检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗? 问题答案: 我不知道它的PDO语法,但这看起来很简单:
问题内容: 我有一个附加到事件的处理程序,我希望它仅在由人触发而不是由trigger()方法触发时执行。我该如何区分? 例如, 问题答案: 您可以检查:如果已定义,则点击是人为的: 我在jsfiddle中的例子: