📄 erdedittabledialog.java
字号:
sqlBuffer.delete(0, sqlBuffer.length()); if (type == TableModifier.COLUMN_VALUES) sqlBuffer.append(values). append(conPanel.getSQLText()); else if (type == TableModifier.CONSTRAINT_VALUES) sqlBuffer.append(columnDataTable.getSQLText()). append(values); sqlText.setSQLText(sqlBuffer.toString()); } public String getSQLText() { return sqlText.getSQLText(); } public String getTableName() { return erdTable.getTableName(); } /** <p>Inserts a row before the selection. */ public void insertBefore() { if (focusTable == columnDataTable.getTable()) columnDataTable.insertBefore(); } /** <p>Inserts a row after the selection. */ public void insertAfter() { if (focusTable == columnDataTable.getTable()) columnDataTable.insertAfter(); else if (focusTable == conPanel.getTable()) { conPanel.insertRowAfter(); conPanel.setCellEditor(2, new ComboBoxCellEditor( columnDataTable.getTableColumnData())); } } /** <p>Deletes the selected row. */ public void deleteRow() { if (focusTable == columnDataTable.getTable()) columnDataTable.deleteRow(); else if (focusTable == conPanel.getTable()) conPanel.dropConstraint(); } /** <p>Moves the selected row up. */ public void moveColumnUp() {} /** <p>Moves the selected row down. */ public void moveColumnDown() {} // ----------------------------------------------- /** * Retrieves the meta data retrieval object for the * selected/current connection as associated with this * table edit function. * * @return the meta data values object */ public MetaDataValues getMetaDataValues() { // TODO: COMPLETE ME return null; } public Vector getHostedSchemasVector() { return new Vector(0); } public Vector getSchemaTables(String schemaName) { Vector _tables = parent.getAllComponentsVector(); int size = _tables.size(); Vector tableNames = new Vector(size); for (int i = 0; i < size; i++) { tableNames.add(_tables.elementAt(i).toString()); } return tableNames; } public Vector getTableColumnDataVector() { return columnDataTable.getTableColumnDataVector(); } public ColumnData[] getTableColumnData() { return columnDataTable.getTableColumnData(); } public Vector getColumnNamesVector(String tableName, String schemaName) { return parent.getTableColumnsVector(tableName); } private void buttons_actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if (command.equals("Close")) dispose(); else if (command.equals("Apply")) { columnDataTable.fireEditingStopped(); conPanel.fireEditingStopped(); String tableName = tableNameField.getText(); String conColumn = null; ColumnConstraint[] constraints = conPanel.getColumnConstraintArray(); ColumnData[] cda = columnDataTable.getTableColumnData(); for (int i = 0; i < cda.length; i++) { // reset the keys cda[i].setPrimaryKey(false); cda[i].setForeignKey(false); cda[i].resetConstraints(); for (int j = 0; j < constraints.length; j++) { conColumn = constraints[j].getColumn(); if (conColumn.equalsIgnoreCase(cda[i].getColumnName())) { constraints[j].setTable(tableName); if (constraints[j].isPrimaryKey()) cda[i].setPrimaryKey(true); else if (constraints[j].isForeignKey()) cda[i].setForeignKey(true); cda[i].addConstraint(constraints[j]); } } cda[i].setTableName(tableName); cda[i].setNamesToUpper(); } erdTable.setTableColumns(cda); erdTable.setAlterTableHash(columnDataTable.getSQLChangesHash()); erdTable.setAlterTableScript(sqlText.getSQLText()); erdTable.tableColumnsChanged(); SwingUtilities.invokeLater(new Runnable() { public void run() { parent.updateTableRelationships(); } }); columnDataTable = null; conPanel = null; sqlText = null; tabs = null; dispose(); } } class EditErdTableConstraintsPanel extends EditTableConstraintsPanel { private ColumnData[] columnData; public EditErdTableConstraintsPanel(TableConstraintFunction creator, ColumnData[] columnData) { super(creator); this.columnData = columnData; Vector constraints = new Vector(); for (int i = 0; i < columnData.length; i++) { Vector _constraints = columnData[i].getColumnConstraintsVector(); if (_constraints == null) continue; for (int j = 0, k = _constraints.size(); j < k; j++) { constraints.add(_constraints.elementAt(j)); } } setData(constraints, true); setOriginalData(); } public void dropConstraint() { int row = table.getSelectedRow(); if (row == -1) return; table.editingStopped(null); if (table.isEditing()) table.removeEditor(); ColumnConstraint cc = getConstraintAt(row); for (int i = 0; i < columnData.length; i++) { Vector _constraints = columnData[i].getColumnConstraintsVector(); if (_constraints == null) continue; for (int j = 0, k = _constraints.size(); j < k; j++) { if(_constraints.elementAt(j) == cc) { deleteSelectedRow(); columnData[i].removeConstraint(cc); columnData[i].setForeignKey(false); break; } } } if (cc.isNewConstraint()) removeFromBuffer(ADD_CONSTRAINT + row); else { String query = ALTER_TABLE + erdTable.getTableName() + DROP_CONSTRAINT + cc.getName() + SEMI_COLON + NEW_LINE; addToBuffer(DROP_CONSTRAINT + row, query); } generateSQL(); setSQLText(); cc = null; } } // class EditErdTableConstraintsPanel }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -