From 91fde4f64f0d3a6e01b04c4f7daed6e2ac2fcabc Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Tue, 17 Sep 2024 23:36:38 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-134415=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91hive=E5=B9=B3=E5=8F=B0=E5=92=8C=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=20=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/data/datapane/connect/JDBCDefPane.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java index 0cb12a8315..ad159489bc 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java @@ -173,14 +173,15 @@ public class JDBCDefPane extends JPanel { urlTextField.setText(dus[i].getURL()); } } - // 更改数据库类型后 数据库名称置空和之前逻辑保持一致 - if (needRefresh) { - jdbcDatabase.setDatabase(StringUtils.EMPTY); + // 更改数据库类型后更新数据库名称 + if (needRefresh || StringUtils.isEmpty(jdbcDatabase.getDatabase())) { + jdbcDatabase.setDatabase(dbTypeMap.getOrDefault(GeneralUtils.objectToString(dbtypeComboBox.getSelectedItem()), DefaultDatabaseType.OTHER.getType())); } - jdbcDatabase.setDatabase(dbTypeMap.getOrDefault(GeneralUtils.objectToString(dbtypeComboBox.getSelectedItem()), DefaultDatabaseType.OTHER.getType())); + changePane(dbtypeComboBox.getSelectedItem()); JDBCConnectionDef.getInstance().setConnection((String) dbtypeComboBox.getSelectedItem(), jdbcDatabase); DatabaseConnectionPane.JDBC.getAdvancedAttrPane().populate(jdbcDatabase); + needRefresh = true; } }; private HashBiMap nameAndRepresent; @@ -414,6 +415,7 @@ public class JDBCDefPane extends JPanel { DriverURLName[] dus = entry.getValue(); for (int i = 0, len = dus.length; i < len; i++) { if (ComparatorUtils.equals(dus[i].getDriver(), jdbcDatabase.getDriver())) { + needRefresh = false; this.dbtypeComboBox.setSelectedItem(entry.getKey()); out = true; break; @@ -454,7 +456,6 @@ public class JDBCDefPane extends JPanel { } else { this.charSetComboBox.setSelectedItem(jdbcDatabase.getOriginalCharsetName()); } - needRefresh = false; } public JDBCDatabaseConnection update() {