private void getColumnsFromDB (Connection connection, String tname) throws SQLException
{
String query = "SELECT * FROM " + tname;
Statement stmt = connection.createStatement();
ResultSet res = stmt.executeQuery (query);
ResultSetMetaData rsmd = res.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
boolean searchable = rsmd.isSearchable (1);
if (searchable)
{
for (int j = 1; j <= numberOfColumns; ++j)
{
Column col = new Column (tname, rsmd, j);
// do something with Column (col);
}
}
}
Class列、CTOR:
public Column (String t, ResultSetMetaData rsmd, int j) throws SQLException
{
table = t;
name = rsmd.getColumnName (j);
schema = rsmd.getSchemaName (j);
precision = -1;
try
{
precision = rsmd.getPrecision (j);
}
catch (NumberFormatException nfe)
{
System.err.println ("nfe[gtd]: " + nfe + " " + t.getName() + "." + name);
}
scale = rsmd.getScale (j);
catName = rsmd.getCatalogName (j);
coltype = rsmd.getColumnType (j);
coltypeName = rsmd.getColumnTypeName (j);
int nulling = rsmd.isNullable (j);
nullable = NULLTYP [nulling];
}
私はそれがうまくいくことを望みます。なぜなら、このコードははるかに大きなコードベースの一部であり、ずっと前に私はそれを使って作業していたからです。
現在、列ヘッダーには何が表示されていますか?デフォルトのA、B、C..etc? –
私はすべての列を持っていない、それはすべての行です... – LuckyLuke