<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDatabase%2FSQLException_Warning</id>
		<title>Java Tutorial/Database/SQLException Warning - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDatabase%2FSQLException_Warning"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Database/SQLException_Warning&amp;action=history"/>
		<updated>2026-04-16T22:39:55Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Database/SQLException_Warning&amp;diff=4780&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Database/SQLException_Warning&amp;diff=4780&amp;oldid=prev"/>
				<updated>2010-06-01T05:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:05, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Database/SQLException_Warning&amp;diff=4779&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Database/SQLException_Warning&amp;diff=4779&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Chaining SQLExceptions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.ResultSetMetaData;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    try {&lt;br /&gt;
      Connection conn = getHSQLConnection();&lt;br /&gt;
      conn.setAutoCommit(false);&lt;br /&gt;
      Statement st = conn.createStatement();&lt;br /&gt;
      st.executeUpdate(&amp;quot;create table survey (id int,name varchar(30));&amp;quot;);&lt;br /&gt;
      st.executeUpdate(&amp;quot;insert into survey (id,name ) values (1,&amp;quot;nameValue&amp;quot;)&amp;quot;);&lt;br /&gt;
      st = conn.createStatement();&lt;br /&gt;
      ResultSet rs = st.executeQuery(&amp;quot;SELECT * FROM survey&amp;quot;);&lt;br /&gt;
      outputResultSet(rs);&lt;br /&gt;
      rs.close();&lt;br /&gt;
      st.close();&lt;br /&gt;
      conn.close();&lt;br /&gt;
    } catch (SQLException sqle) {&lt;br /&gt;
      do { // loop through each exception&lt;br /&gt;
        // do something with each exception&lt;br /&gt;
        System.err.println(&amp;quot;Exception occurred:\nMessage: &amp;quot; + sqle.getMessage());&lt;br /&gt;
        System.err.println(&amp;quot;SQL state: &amp;quot; + sqle.getSQLState());&lt;br /&gt;
        System.err.println(&amp;quot;Vendor code: &amp;quot; + sqle.getErrorCode() + &amp;quot;\n----------------&amp;quot;);&lt;br /&gt;
      } while ((sqle = sqle.getNextException()) != null);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static void outputResultSet(ResultSet rs) throws Exception {&lt;br /&gt;
    ResultSetMetaData rsMetaData = rs.getMetaData();&lt;br /&gt;
    int numberOfColumns = rsMetaData.getColumnCount();&lt;br /&gt;
    for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
      String columnName = rsMetaData.getColumnName(i);&lt;br /&gt;
      System.out.print(columnName + &amp;quot;   &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    System.out.println(&amp;quot;----------------------&amp;quot;);&lt;br /&gt;
    while (rs.next()) {&lt;br /&gt;
      for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
        System.out.print(rs.getString(i) + &amp;quot;   &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getHSQLConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Check for a SQL Warning Using PreparedStatement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.PreparedStatement;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.ResultSetMetaData;&lt;br /&gt;
import java.sql.SQLWarning;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Connection conn = getConnection();&lt;br /&gt;
    conn.setAutoCommit(false);&lt;br /&gt;
    Statement st = conn.createStatement();&lt;br /&gt;
    st.executeUpdate(&amp;quot;create table survey (id int, name VARCHAR(30) );&amp;quot;);&lt;br /&gt;
    String INSERT_RECORD = &amp;quot;insert into survey(id, name) values(?,?)&amp;quot;;&lt;br /&gt;
    PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);&lt;br /&gt;
    pstmt.setInt(1, 1);&lt;br /&gt;
    pstmt.setString(2, &amp;quot;name&amp;quot;);&lt;br /&gt;
    pstmt.executeUpdate();&lt;br /&gt;
    // Get warnings on PreparedStatement object&lt;br /&gt;
    SQLWarning warning = pstmt.getWarnings();&lt;br /&gt;
    while (warning != null) {&lt;br /&gt;
      // Process statement warnings...&lt;br /&gt;
      String message = warning.getMessage();&lt;br /&gt;
      String sqlState = warning.getSQLState();&lt;br /&gt;
      int errorCode = warning.getErrorCode();&lt;br /&gt;
      warning = warning.getNextWarning();&lt;br /&gt;
    }&lt;br /&gt;
    ResultSet rs = st.executeQuery(&amp;quot;SELECT * FROM survey&amp;quot;);&lt;br /&gt;
    outputResultSet(rs);&lt;br /&gt;
    rs.close();&lt;br /&gt;
    st.close();&lt;br /&gt;
    conn.close();&lt;br /&gt;
  }&lt;br /&gt;
  private static void outputResultSet(ResultSet rs) throws Exception {&lt;br /&gt;
    ResultSetMetaData rsMetaData = rs.getMetaData();&lt;br /&gt;
    int numberOfColumns = rsMetaData.getColumnCount();&lt;br /&gt;
    for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
      String columnName = rsMetaData.getColumnName(i);&lt;br /&gt;
      System.out.print(columnName + &amp;quot;   &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    System.out.println(&amp;quot;----------------------&amp;quot;);&lt;br /&gt;
    while (rs.next()) {&lt;br /&gt;
      for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
        System.out.print(rs.getString(i) + &amp;quot;   &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Check for a warning using a Connection object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.SQLWarning;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
      try {&lt;br /&gt;
        Connection conn = getConnection(); // get a java.sql.Connection object&lt;br /&gt;
        SQLWarning warning = conn.getWarnings();&lt;br /&gt;
        while (warning != null) {&lt;br /&gt;
            // process connection warning&lt;br /&gt;
            String message = warning.getMessage();&lt;br /&gt;
            String sqlState = warning.getSQLState();&lt;br /&gt;
            int errorCode = warning.getErrorCode();&lt;br /&gt;
            warning = warning.getNextWarning();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    catch (SQLException e) {&lt;br /&gt;
        // ignore the exception&lt;br /&gt;
    }&lt;br /&gt;
    finally {&lt;br /&gt;
      // close JDBC resources: ResultSet, Statement, Connection&lt;br /&gt;
    }&lt;br /&gt;
      &lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Checking for a Warning Using a ResultSet Object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.SQLWarning;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    // Get warnings on ResultSet object&lt;br /&gt;
    ResultSet rs = null;&lt;br /&gt;
    Connection conn = null;&lt;br /&gt;
    Statement stmt = null;&lt;br /&gt;
    try {&lt;br /&gt;
      conn = getConnection(); // get a java.sql.Connection object&lt;br /&gt;
      stmt = conn.createStatement(); // create a statement&lt;br /&gt;
      // get a result set&lt;br /&gt;
      String sqlQuery = &amp;quot;select id, name from employees&amp;quot;;&lt;br /&gt;
      rs = stmt.executeQuery(sqlQuery);&lt;br /&gt;
      while (rs.next()) {&lt;br /&gt;
        // use result set&lt;br /&gt;
        // &lt;br /&gt;
        // get warnings on the current row of the ResultSet object&lt;br /&gt;
        SQLWarning warning = rs.getWarnings();&lt;br /&gt;
        if (warning != null) {&lt;br /&gt;
          // process result set warnings&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      // ignore the exception&lt;br /&gt;
    } finally {&lt;br /&gt;
      // close JDBC resources: ResultSet, Statement, Connection&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Checking for a Warning Using a Statement Object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.SQLWarning;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    // Get warnings on Statement object&lt;br /&gt;
    Connection conn = null;&lt;br /&gt;
    Statement stmt = null;&lt;br /&gt;
    try {&lt;br /&gt;
      conn = getConnection(); // get a java.sql.Connection object&lt;br /&gt;
      stmt = conn.createStatement(); // create a statement&lt;br /&gt;
      // use the statement&lt;br /&gt;
      // get warnings on Statement object&lt;br /&gt;
      SQLWarning warning = stmt.getWarnings();&lt;br /&gt;
      if (warning != null) {&lt;br /&gt;
        // Process statement warnings&lt;br /&gt;
      }&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      // ignore the exception&lt;br /&gt;
    } finally {&lt;br /&gt;
      // close JDBC resources: ResultSet, Statement, Connection&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determine Whether a SQL Warning Has Occurred ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You can check for a warning in three places:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
The Connection object (java.sql.Connection)&lt;br /&gt;
      The Statement object (java.sql.Statement)&lt;br /&gt;
      The ResultSet object (java.sql.ResultSet)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Exceptions in JDBC ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;java.sql.SQLException extends the java.lang.Exception class&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;java.sql.SQLException is a core JDBC exception class that provides information about database access errors and other errors. Most of the JDBC API methods throw SQLException.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;java.sql.BatchUpdateException: a BatchUpdateException provides the update counts for all commands that were executed successfully during the batch update.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;java.sql.DataTruncation reports a DataTruncation warning (on reads) or throws a DataTruncation exception (on writes) when JDBC unexpectedly truncates a data value.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;java.sql.SQLWarning provides information about database access warnings.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Extracting Information from SQLException ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.ResultSetMetaData;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    try {&lt;br /&gt;
      Connection conn = getHSQLConnection();&lt;br /&gt;
      conn.setAutoCommit(false);&lt;br /&gt;
      Statement st = conn.createStatement();&lt;br /&gt;
      st.executeUpdate(&amp;quot;create table survey (id int,name varchar(30));&amp;quot;);&lt;br /&gt;
      st.executeUpdate(&amp;quot;insert into survey (id,name ) values (1,&amp;quot;nameValue&amp;quot;)&amp;quot;);&lt;br /&gt;
      st = conn.createStatement();&lt;br /&gt;
      ResultSet rs = st.executeQuery(&amp;quot;SELECT * FROM survey&amp;quot;);&lt;br /&gt;
      outputResultSet(rs);&lt;br /&gt;
      rs.close();&lt;br /&gt;
      st.close();&lt;br /&gt;
      conn.close();&lt;br /&gt;
    } catch (SQLException sqle) {&lt;br /&gt;
      String sqlMessage = sqle.getMessage();&lt;br /&gt;
      String sqlState = sqle.getSQLState();&lt;br /&gt;
      int vendorCode = sqle.getErrorCode();&lt;br /&gt;
      System.err.println(&amp;quot;Exception occurred:&amp;quot;);&lt;br /&gt;
      System.err.println(&amp;quot;Message: &amp;quot; + sqlMessage);&lt;br /&gt;
      System.err.println(&amp;quot;SQL state: &amp;quot; + sqlState);&lt;br /&gt;
      System.err.println(&amp;quot;Vendor code: &amp;quot; + vendorCode + &amp;quot;\n----------------&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static void outputResultSet(ResultSet rs) throws Exception {&lt;br /&gt;
    ResultSetMetaData rsMetaData = rs.getMetaData();&lt;br /&gt;
    int numberOfColumns = rsMetaData.getColumnCount();&lt;br /&gt;
    for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
      String columnName = rsMetaData.getColumnName(i);&lt;br /&gt;
      System.out.print(columnName + &amp;quot;   &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    System.out.println(&amp;quot;----------------------&amp;quot;);&lt;br /&gt;
    while (rs.next()) {&lt;br /&gt;
      for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
        System.out.print(rs.getString(i) + &amp;quot;   &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getHSQLConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the Details of a SQLException ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.PreparedStatement;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    try {&lt;br /&gt;
      Connection conn = getConnection();&lt;br /&gt;
      Statement st = conn.createStatement();&lt;br /&gt;
      st.executeUpdate(&amp;quot;create table survey (id int,myDate DATE );&amp;quot;);&lt;br /&gt;
      String INSERT_RECORD = &amp;quot;insert into survey(id, myDate) values(?, ?)&amp;quot;;&lt;br /&gt;
      PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);&lt;br /&gt;
      pstmt.setString(1, &amp;quot;1&amp;quot;);&lt;br /&gt;
      java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());&lt;br /&gt;
      pstmt.setDate(2, sqlDate);&lt;br /&gt;
      pstmt.executeUpdate();&lt;br /&gt;
      ResultSet rs = st.executeQuery(&amp;quot;SELECT * FROM survey&amp;quot;);&lt;br /&gt;
      rs.close();&lt;br /&gt;
      st.close();&lt;br /&gt;
      conn.close();&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      while (e != null) {&lt;br /&gt;
        String errorMessage = e.getMessage();&lt;br /&gt;
        System.err.println(&amp;quot;sql error message:&amp;quot; + errorMessage);&lt;br /&gt;
        // This vendor-independent string contains a code.&lt;br /&gt;
        String sqlState = e.getSQLState();&lt;br /&gt;
        System.err.println(&amp;quot;sql state:&amp;quot; + sqlState);&lt;br /&gt;
        int errorCode = e.getErrorCode();&lt;br /&gt;
        System.err.println(&amp;quot;error code:&amp;quot; + errorCode);&lt;br /&gt;
        // String driverName = conn.getMetaData().getDriverName();&lt;br /&gt;
        // System.err.println(&amp;quot;driver name:&amp;quot;+driverName);&lt;br /&gt;
        // processDetailError(drivername, errorCode);&lt;br /&gt;
        e = e.getNextException();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  java.sql.SQLException Methods ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Return Type      Method                                 Description&lt;br /&gt;
int              getErrorCode()                         Retrieves the vendor-specific exception code for this SQLException object&lt;br /&gt;
SQLException     getNextException()                     Retrieves the exception chained to this SQLException object&lt;br /&gt;
String           getSQLState()                          Retrieves the SQLState for this SQLException object&lt;br /&gt;
void             setNextException(SQLException ex)      Adds a SQLException object to the end of the chain&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Print the stack trace for a SQLException to STDERR. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to STDERR.&lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e) {&lt;br /&gt;
      printStackTrace(e, new PrintWriter(System.err));&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to a &lt;br /&gt;
   * specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e, PrintWriter pw) {&lt;br /&gt;
      SQLException next = e;&lt;br /&gt;
      while (next != null) {&lt;br /&gt;
          next.printStackTrace(pw);&lt;br /&gt;
          next = next.getNextException();&lt;br /&gt;
          if (next != null) {&lt;br /&gt;
              pw.println(&amp;quot;Next SQLException:&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Print warnings on a Connection to a specified PrintWriter. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print warnings on a Connection to STDERR.&lt;br /&gt;
   *&lt;br /&gt;
   * @param conn Connection to print warnings from&lt;br /&gt;
   */&lt;br /&gt;
  public static void printWarnings(Connection conn) {&lt;br /&gt;
      printWarnings(conn, new PrintWriter(System.err));&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Print warnings on a Connection to a specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param conn Connection to print warnings from&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printWarnings(Connection conn, PrintWriter pw) {&lt;br /&gt;
      if (conn != null) {&lt;br /&gt;
          try {&lt;br /&gt;
              printStackTrace(conn.getWarnings(), pw);&lt;br /&gt;
          } catch (SQLException e) {&lt;br /&gt;
              printStackTrace(e, pw);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to a &lt;br /&gt;
   * specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e, PrintWriter pw) {&lt;br /&gt;
      SQLException next = e;&lt;br /&gt;
      while (next != null) {&lt;br /&gt;
          next.printStackTrace(pw);&lt;br /&gt;
          next = next.getNextException();&lt;br /&gt;
          if (next != null) {&lt;br /&gt;
              pw.println(&amp;quot;Next SQLException:&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Print warnings on a Connection to STDERR. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print warnings on a Connection to STDERR.&lt;br /&gt;
   *&lt;br /&gt;
   * @param conn Connection to print warnings from&lt;br /&gt;
   */&lt;br /&gt;
  public static void printWarnings(Connection conn) {&lt;br /&gt;
      printWarnings(conn, new PrintWriter(System.err));&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Print warnings on a Connection to a specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param conn Connection to print warnings from&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printWarnings(Connection conn, PrintWriter pw) {&lt;br /&gt;
      if (conn != null) {&lt;br /&gt;
          try {&lt;br /&gt;
              printStackTrace(conn.getWarnings(), pw);&lt;br /&gt;
          } catch (SQLException e) {&lt;br /&gt;
              printStackTrace(e, pw);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to a &lt;br /&gt;
   * specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e, PrintWriter pw) {&lt;br /&gt;
      SQLException next = e;&lt;br /&gt;
      while (next != null) {&lt;br /&gt;
          next.printStackTrace(pw);&lt;br /&gt;
          next = next.getNextException();&lt;br /&gt;
          if (next != null) {&lt;br /&gt;
              pw.println(&amp;quot;Next SQLException:&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use JDBC Chained Exception ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class ChainedExceptionDemo {&lt;br /&gt;
  static Connection conn;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    String driver = &amp;quot;com.mysql.jdbc.Driver&amp;quot;;&lt;br /&gt;
    String connectionURL = &amp;quot;jdbc:mysql://127.0.0.1:3306/sample&amp;quot;;&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(driver);&lt;br /&gt;
    } catch (java.lang.ClassNotFoundException e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      conn = DriverManager.getConnection(connectionURL);&lt;br /&gt;
      Statement stmt = conn.createStatement();&lt;br /&gt;
      ResultSet rs = stmt.executeQuery(&amp;quot;SELECT * FROM NONEXISTINGTABLE&amp;quot;);&lt;br /&gt;
      rs.next();&lt;br /&gt;
      rs.close();&lt;br /&gt;
    } catch (SQLException sx) {&lt;br /&gt;
      for (Throwable e : sx) {&lt;br /&gt;
        System.err.println(&amp;quot;Error encountered: &amp;quot; + e);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using SQLWarning ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.ResultSetMetaData;&lt;br /&gt;
import java.sql.SQLWarning;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Connection conn = getHSQLConnection();&lt;br /&gt;
    conn.setAutoCommit(false);&lt;br /&gt;
    Statement st = conn.createStatement();&lt;br /&gt;
    st.executeUpdate(&amp;quot;create table survey (id int,name varchar(30));&amp;quot;);&lt;br /&gt;
    st.executeUpdate(&amp;quot;insert into survey (id,name ) values (1,&amp;quot;nameValue&amp;quot;)&amp;quot;);&lt;br /&gt;
    st = conn.createStatement();&lt;br /&gt;
    ResultSet rs = st.executeQuery(&amp;quot;SELECT * FROM survey&amp;quot;);&lt;br /&gt;
    outputResultSet(rs);&lt;br /&gt;
    checkForWarning(rs.getWarnings());&lt;br /&gt;
    rs.close();&lt;br /&gt;
    st.close();&lt;br /&gt;
    conn.close();&lt;br /&gt;
  }&lt;br /&gt;
  static boolean checkForWarning(SQLWarning w) {&lt;br /&gt;
    if (w == null) {&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
    do {&lt;br /&gt;
      System.err.println(&amp;quot;Warning:\nMessage: &amp;quot; + w.getMessage());&lt;br /&gt;
      System.err.println(&amp;quot;SQL state: &amp;quot; + w.getSQLState());&lt;br /&gt;
      System.err.println(&amp;quot;Vendor code: &amp;quot; + w.getErrorCode() + &amp;quot;\n----------------&amp;quot;);&lt;br /&gt;
    } while ((w = w.getNextWarning()) != null);&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  private static void outputResultSet(ResultSet rs) throws Exception {&lt;br /&gt;
    ResultSetMetaData rsMetaData = rs.getMetaData();&lt;br /&gt;
    int numberOfColumns = rsMetaData.getColumnCount();&lt;br /&gt;
    for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
      String columnName = rsMetaData.getColumnName(i);&lt;br /&gt;
      System.out.print(columnName + &amp;quot;   &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    System.out.println(&amp;quot;----------------------&amp;quot;);&lt;br /&gt;
    while (rs.next()) {&lt;br /&gt;
      for (int i = 1; i &amp;lt; numberOfColumns + 1; i++) {&lt;br /&gt;
        System.out.print(rs.getString(i) + &amp;quot;   &amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static Connection getHSQLConnection() throws Exception {&lt;br /&gt;
    Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
    String url = &amp;quot;jdbc:hsqldb:mem:data/tutorial&amp;quot;;&lt;br /&gt;
    return DriverManager.getConnection(url, &amp;quot;sa&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>