Closed xframiumAS closed 7 years ago
The constructor is changed as below
public SQLElementProvider( String username, String password, String url, String driver ) { this( username, password, url, driver, DEF_QUERY ); }
public SQLElementProvider( String username, String password, String url, String driver, String query )
{
this.username = username;
this.password = password;
this.url = url;
this.driver = driver;
this.query = (( query != null ) ? query : DEF_QUERY);
readElements();
}
Resolved in 1.0.6 - additional call to read was removed
Getting below exception from SQLElementProvider
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'PP.SITE_ID' in 'on clause' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) at org.xframium.utility.SQLUtil.getResults(SQLUtil.java:87) at org.xframium.page.element.provider.SQLElementProvider.readElements(SQLElementProvider.java:128) at org.xframium.page.element.provider.SQLElementProvider.(SQLElementProvider.java:89)
at org.xframium.page.element.provider.SQLElementProvider.(SQLElementProvider.java:102)
The readElements method is called twice(once for default query and then for manual query) public SQLElementProvider( String username, String password, String url, String driver, String query ) { this( username, password, url, driver ); this.query = (( query != null ) ? query : DEF_QUERY);
public SQLElementProvider( String username, String password, String url, String driver ) { this.username = username; this.password = password; this.url = url; this.driver = driver; this.query = DEF_QUERY;