Difference between revisions of "API/Samples/Java/Database/TableStructure(SDBCX)"
From Apache OpenOffice Wiki
Line 1: | Line 1: | ||
== Table Structure (extended) == | == Table Structure (extended) == | ||
− | Beside the database meta data interface, the interfaces in the namespace com.sun.star.sdbcx.* supports a different more objective orientated way on looking at the database. | + | Beside the [[database]] meta data interface, the interfaces in the namespace com.sun.star.sdbcx.* supports a different more objective orientated way on looking at the database. |
<source lang="java"> | <source lang="java"> | ||
Line 69: | Line 69: | ||
</source> | </source> | ||
− | [[ | + | [[Category:API]] |
+ | [[Category:Java]] |
Latest revision as of 16:22, 4 January 2019
Table Structure (extended)
Beside the database meta data interface, the interfaces in the namespace com.sun.star.sdbcx.* supports a different more objective orientated way on looking at the database.
public void displayTableProperties() throws com.sun.star.uno.Exception { // the variable xTabSup is a XTablesSupplier which you get from the XDriver in conjunction with the connection XNameAccess xTables = xTabSup.getTables(); String[] aTableNames = xTables.getElementNames(); if ( 0 != aTableNames.length ) { Object table = xTables.getByName(aTableNames[0]); XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, table); System.out.println("Name: " + xProp.getPropertyValue(NAME)); System.out.println("CatalogName: " + xProp.getPropertyValue("CatalogName")); System.out.println("SchemaName: " + xProp.getPropertyValue("SchemaName")); System.out.println("Description: " + xProp.getPropertyValue("Description")); // the following property is optional so we first must check if it exists if ( xProp.getPropertySetInfo().hasPropertyByName(TYPE) ) { System.out.println("Type: " + xProp.getPropertyValue(TYPE)); } System.out.println("Columns:"); XColumnsSupplier columnsSupplier = (XColumnsSupplier) UnoRuntime.queryInterface(XColumnsSupplier.class, table); printColumns(columnsSupplier); System.out.println("Keys:"); printKeys(columnsSupplier); } } //########################################################### // 15. example // print all columns of a XColumnsSupplier //########################################################### public static void printColumns(final XColumnsSupplier xColumnsSup) throws com.sun.star.uno.Exception, SQLException { System.out.println("Example printColumns"); // the table must be at least support a XColumnsSupplier interface System.out.println("--- Columns ---"); XNameAccess xColumns = xColumnsSup.getColumns(); String[] aColumnNames = xColumns.getElementNames(); for ( int i = 0; i <= aColumnNames.length - 1; i++ ) { System.out.println(" " + aColumnNames[i]); } } //########################################################### // 16. example // print all keys inclusive the columns of a key //########################################################### public static void printKeys(final XColumnsSupplier xColumnsSup) throws com.sun.star.uno.Exception, SQLException { System.out.println("Example printKeys"); XKeysSupplier xKeysSup = (XKeysSupplier) UnoRuntime.queryInterface(XKeysSupplier.class, xColumnsSup); if ( xKeysSup != null ) { System.out.println("--- Keys ---"); XIndexAccess xKeys = xKeysSup.getKeys(); for ( int i = 0; i < xKeys.getCount(); i++ ) { Object key = xKeys.getByIndex(i); XPropertySet xProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, key); System.out.println(" " + xProp.getPropertyValue(NAME)); XColumnsSupplier xKeyColumnsSup = (XColumnsSupplier) UnoRuntime.queryInterface(XColumnsSupplier.class, xProp); printColumns(xKeyColumnsSup); } } }