Mega Code Archive

 
Categories / Java Tutorial / Database
 

Check for a SQL Warning Using PreparedStatement

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLWarning; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     Connection conn = getConnection();     conn.setAutoCommit(false);     Statement st = conn.createStatement();     st.executeUpdate("create table survey (id int, name VARCHAR(30) );");     String INSERT_RECORD = "insert into survey(id, name) values(?,?)";     PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);     pstmt.setInt(1, 1);     pstmt.setString(2, "name");     pstmt.executeUpdate();     // Get warnings on PreparedStatement object     SQLWarning warning = pstmt.getWarnings();     while (warning != null) {       // Process statement warnings...       String message = warning.getMessage();       String sqlState = warning.getSQLState();       int errorCode = warning.getErrorCode();       warning = warning.getNextWarning();     }     ResultSet rs = st.executeQuery("SELECT * FROM survey");     outputResultSet(rs);     rs.close();     st.close();     conn.close();   }   private static void outputResultSet(ResultSet rs) throws Exception {     ResultSetMetaData rsMetaData = rs.getMetaData();     int numberOfColumns = rsMetaData.getColumnCount();     for (int i = 1; i < numberOfColumns + 1; i++) {       String columnName = rsMetaData.getColumnName(i);       System.out.print(columnName + "   ");     }     System.out.println();     System.out.println("----------------------");     while (rs.next()) {       for (int i = 1; i < numberOfColumns + 1; i++) {         System.out.print(rs.getString(i) + "   ");       }       System.out.println();     }   }   private static Connection getConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } }