Class SQLQueryResult


  • public class SQLQueryResult
    extends java.lang.Object
    This class performs a SQL (SELECT) query and provides access to the result set.

    Warning : This class does not check tables, fields, columns and where clause parameter against SQL injection. Make sure to only use validated parameter values, i.e. do not use values entered by end user, but only values coming from configuration files or authorized administrators.

    Since:
    jcms-5.5.0
    Version:
    $Revision: 121495 $
    Author:
    Olivier Dedieu
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  SQLQueryResult.Row
      This class represents a row.
    • Constructor Summary

      Constructors 
      Constructor Description
      SQLQueryResult​(java.lang.String dataSource, java.lang.String sqlQuery, int maxRows)
      Constructs a new SQLQueryResult.
      SQLQueryResult​(java.lang.String dataSource, java.lang.String sqlQuery, java.lang.Object[] params, int maxRows)
      Constructs a new SQLQueryResult.
      SQLQueryResult​(java.lang.String dataSource, java.lang.String select, java.lang.String from, java.lang.String orderby, java.lang.String[] whereParams, java.lang.String[] whereValues, boolean and, int maxRows)
      Constructs a new SQLQueryResult.
      SQLQueryResult​(java.sql.Connection conn, java.lang.String sqlQuery, java.lang.Object[] params, int maxRows)
      Constructs a new SQLQueryResult.
      SQLQueryResult​(java.sql.ResultSet rs)
      Constructs a new SQLQueryResult.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getColumnCount()
      Returns the column count
      java.lang.String[] getColumnNames()
      Returns the column names
      int getErrorCode()
      Returns the error code
      java.lang.String getErrorMessage()
      Returns the error message
      int getRowCount()
      Returns the count of rows.
      java.util.List getRowList()
      Returns the list of rows.
      java.lang.String getSQLQuery()
      Returns the error sqlQuery
      java.lang.String getSQLState()
      Returns the SQL state
      boolean isEmpty()
      Returns true if no result
      boolean isError()
      Returns true if an error occured during the query process
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • columnNames

        protected java.lang.String[] columnNames
      • rowList

        protected java.util.List rowList
      • isError

        protected boolean isError
      • errorMessage

        protected java.lang.String errorMessage
      • errorCode

        protected int errorCode
      • sqlState

        protected java.lang.String sqlState
      • sqlQuery

        protected java.lang.String sqlQuery
    • Constructor Detail

      • SQLQueryResult

        public SQLQueryResult​(java.lang.String dataSource,
                              java.lang.String select,
                              java.lang.String from,
                              java.lang.String orderby,
                              java.lang.String[] whereParams,
                              java.lang.String[] whereValues,
                              boolean and,
                              int maxRows)
        Constructs a new SQLQueryResult. Build a SELECT query from given parameters.
        Parameters:
        dataSource - the name of the data source (eg. "jdbc/TestDB")
        select - the table filed to select or *
        from - the table name to work with.
        orderby - the order by parameter
        whereParams - an array of parameters
        whereValues - an array of parameters value
        and - should be 'AND' or 'OR' between parameters
        maxRows - the max rows limit; zero means there is no limit
      • SQLQueryResult

        public SQLQueryResult​(java.lang.String dataSource,
                              java.lang.String sqlQuery,
                              int maxRows)
        Constructs a new SQLQueryResult.
        Parameters:
        dataSource - the name of the data source (eg. "jdbc/TestDB")
        sqlQuery - the SQL (SELECT) query
        maxRows - the max rows limit; zero means there is no limit
        Since:
        jcms-5.5.0
      • SQLQueryResult

        public SQLQueryResult​(java.lang.String dataSource,
                              java.lang.String sqlQuery,
                              java.lang.Object[] params,
                              int maxRows)
        Constructs a new SQLQueryResult.
        Parameters:
        dataSource - the name of the data source (eg. "jdbc/TestDB")
        sqlQuery - the SQL query (may be a parametrized SQL query)
        params - the query parameters
        maxRows - the max rows limit; zero means there is no limit
        Since:
        jcms-5.5.0
      • SQLQueryResult

        public SQLQueryResult​(java.sql.Connection conn,
                              java.lang.String sqlQuery,
                              java.lang.Object[] params,
                              int maxRows)
        Constructs a new SQLQueryResult.
        Parameters:
        conn - the JDBC connection
        sqlQuery - the SQL query (may be a parametrized SQL query)
        params - the query parameters
        maxRows - the max rows limit; zero means there is no limit
        Since:
        jcms-5.5.0
      • SQLQueryResult

        public SQLQueryResult​(java.sql.ResultSet rs)
        Constructs a new SQLQueryResult.
        Parameters:
        rs - a JDBC ResultSet
        Since:
        jcms-5.5.0
    • Method Detail

      • getColumnNames

        public java.lang.String[] getColumnNames()
        Returns the column names
        Returns:
        the column names
        Since:
        jcms-5.5.0
      • getColumnCount

        public int getColumnCount()
        Returns the column count
        Returns:
        the column count
        Since:
        jcms-5.5.0
      • isEmpty

        public boolean isEmpty()
        Returns true if no result
        Returns:
        true if no result
        Since:
        jcms-5.5.0
      • getRowList

        public java.util.List getRowList()
        Returns the list of rows. Each row is represented by a SQLQueryResult.Row object.
        Returns:
        the list of rows.
        Since:
        jcms-5.5.0
      • getRowCount

        public int getRowCount()
        Returns the count of rows.
        Returns:
        the count of rows.
        Since:
        jcms-5.5.0
      • isError

        public boolean isError()
        Returns true if an error occured during the query process
        Returns:
        true if an error occured during the query process.
        Since:
        jcms-5.5.0
      • getErrorCode

        public int getErrorCode()
        Returns the error code
        Returns:
        the error code.
        Since:
        jcms-5.5.0
        See Also:
        SQLException.getErrorCode()
      • getSQLQuery

        public java.lang.String getSQLQuery()
        Returns the error sqlQuery
        Returns:
        the error sqlQuery.
        Since:
        jcms-5.5.0
      • getErrorMessage

        public java.lang.String getErrorMessage()
        Returns the error message
        Returns:
        the error message.
        Since:
        jcms-5.5.0
      • getSQLState

        public java.lang.String getSQLState()
        Returns the SQL state
        Returns:
        the SQL state.
        Since:
        jcms-5.5.0
        See Also:
        SQLException.getSQLState()