Page 1 of 1
Dynamic Retrieve Columns
Posted: Mon May 11, 2015 7:25 pm
by rafaelwithoeft
Hello, i want to "refresh" dynamicaly retrieved columns of data source sql. How i do it?
Like i click in retrieve columns in the designer, but i need it on java... Sample:
Code: Select all
report.getDictionary().getDataSource("xyz").retrieveColumns();

Re: Dynamic Retrieve Columns
Posted: Tue May 12, 2015 8:10 am
by Vadim
Hello.
You can use next example for MySqlDatabase as first DB:
Code: Select all
StiJDBCDatabase jdb = (StiJDBCDatabase) report.getDictionary().getDatabases().get(0);
StiJDBCParameters param = new StiMySqlAdapter(jdb.getConnectionString()).getJdbcParameters();
Class.forName(param.getDriverName());
Properties info = new Properties();
info.setProperty("user", param.getUser());
info.setProperty("password", param.getPassword());
info.putAll(param.getOther());
Connection con = DriverManager.getConnection(param.getConnectionURL(), info);
StiTableFildsRequest request = StiDataColumnsUtil.getFields(con, "select * from customer");
List<StiSqlField> fields = request.getColunns();
for (StiSqlField field : fields) {
report.getDictionary().getDataSources().get(0).getColumns().add(new StiDataColumn(field.getName(), field.getName(), field.getSystemType()));
}
Re: Dynamic Retrieve Columns
Posted: Mon Jun 15, 2015 12:47 pm
by rafaelwithoeft
Thank you!
Re: Dynamic Retrieve Columns
Posted: Mon Jun 15, 2015 12:56 pm
by Alex K.
Hello,
We are always glad to help you!
Let us know if you need any additional help.
Thank you.