Kbase P158738: SQL: How to invoke the JDBC ResultSetMetaData methods from JAVA code?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  03/01/2011 |
|
Status: Verified
GOAL:
SQL: How to invoke the JDBC ResultSetMetaData methods from JAVA code?
GOAL:
How to call the JDBC ResultSetMetaData column methods using JAVA?
GOAL:
Sample JAVA program that calls the JDBC ResultSetMetaData getMetaData(), getColumnCount(), getColumnName() and other methods.
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.x
FIX:
The following JAVA program demonstrates how to call the various ResultSetMetaData methods:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class GetResultSetMetadata {
public static void main(String[] args) throws Exception {
Connection conn = getOpenEdgeConnection();
Statement st = conn.createStatement();
st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM PUB.Customer");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
System.out.println("rsMetaData.getColumnCount()\t " + numberOfColumns);
for (int i = 1; i <= numberOfColumns; i++) {
System.out.println("column number:\t " + i);
// indicates the designated column's normal maximum width in characters
System.out.println("rsMetaData.getColumnDisplaySize(i)\t " + rsMetaData.getColumnDisplaySize(i));
// gets the designated column's suggested title for use in printouts and displays.
System.out.println("rsMetaData.getColumnLabel(i)\t " + rsMetaData.getColumnLabel(i));
// get the designated column's name.
System.out.println("rsMetaData.getColumnName(i)\t " + rsMetaData.getColumnName(i));
// get the designated column's SQL type.
System.out.println("rsMetaData.getColumnType(i)\t " + rsMetaData.getColumnType(i));
// get the designated column's SQL type name.
System.out.println("rsMetaData.getColumnTypeName(i)\t " + rsMetaData.getColumnTypeName(i));
// get the designated column's class name.BR> System.out.println("rsMetaData.getColumnClassName(i)\t " + rsMetaData.getColumnClassName(i));
// get the designated column's table name.
System.out.println("rsMetaData.getTableName(i)\t " + rsMetaData.getTableName(i));
// get the designated column's number of decimal digits.
System.out.println("rsMetaData.getPrecision(i)\t " + rsMetaData.getPrecision(i));
// gets the designated column's number of digits to right of the decimal point.
System.out.println("rsMetaData.getScale(i)\t " + rsMetaData.getScale(i));
// indicates whether the designated column is automatically numbered, thus read-only.
System.out.println("rsMetaData.isAutoIncrement(i)\t " + rsMetaData.isAutoIncrement(i));
// indicates whether the designated column is a cash value.
System.out.println("rsMetaData.isCurrency(i)\t " + rsMetaData.isCurrency(i));
// indicates whether a write on the designated column will succeed.
System.out.println("rsMetaData.isWritable(i)\t " + rsMetaData.isWritable(i));
// indicates whether a write on the designated column will definitely succeed.
System.out.println("rsMetaData.isDefinitelyWritable(i)\t " + rsMetaData.isDefinitelyWritable(i));
// indicates the nullability of values in the designated column.
System.out.println("rsMetaData.isNullable(i)\t " + rsMetaData.isNullable(i));
// Indicates whether the designated column is definitely not writable.
System.out.println("rsMetaData.isReadOnly(i)\t " + rsMetaData.isReadOnly(i));
// Indicates whether a column's case matters in the designated column.
System.out.println("rsMetaData.isCaseSensitive(i)\t " + rsMetaData.isCaseSensitive(i));
// Indicates whether a column's case matters in the designated column.
S.ystem.out.println("rsMetaData.isSearchable(i)\t " + rsMetaData.isSearchable(i));
// indicates whether values in the designated column are signed numbers.
System.out.println("rsMetaData.isSigned(i)\t " + rsMetaData.isSigned(i));
// Gets the designated column's table's catalog name.
System.out.println("rsMetaData.getCatalogName(i)\t " + rsMetaData.getCatalogName(i));
// Gets the designated column's table's schema name.
System.out.println("rsMetaData.getSchemaName(i)\t " + rsMetaData.getSchemaName(i));
}
st.close();
conn.close();}
public static Connection getOpenEdgeConnection() throws Exception {
String driver = "com.ddtek.jdbc.openedge.OpenEdgeDriver";
String url = "jdbc:datadirect:openedge://localhost:23456;databaseName=sports2000";
String username = "sysprogress";
String password = "sysprogress";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
}.