Mega Code Archive

 
Categories / Java by API / Java Sql
 

DataTruncation

import java.sql.Connection; import java.sql.DataTruncation; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.SQLWarning; import java.sql.Statement; public class Main {   public static void displayError(DataTruncation dataTruncation) {     System.out.println(dataTruncation.getDataSize() + " bytes should have been ");     if (dataTruncation.getRead()) {       System.out.println("Read (Error:) ");     } else {       System.out.println("Written (Error:) ");     }     System.out.println(dataTruncation.getTransferSize()         + " number of bytes of data actually transferred.");   }   public static void displayError(SQLWarning warning) {     while (warning != null) {       if (warning instanceof DataTruncation) {         displayError((DataTruncation) warning);       } else {         System.out.println(" Warning: " + warning.getMessage());       }       warning = warning.getNextWarning();     }   }   public static Connection getMySQLConnection() throws Exception {     String driver = "org.gjt.mm.mysql.Driver";     String url = "jdbc:mysql://localhost/databaseName";     String username = "root";     String password = "root";     Class.forName(driver);     return DriverManager.getConnection(url, username, password);   }   public static void main(String[] args) throws Exception {     Connection conn = getMySQLConnection();     Statement stmt = null;     try {       stmt = conn.createStatement();       stmt.executeUpdate("DELETE FROM Mytable");       displayError(stmt.getWarnings());       stmt.executeUpdate("INSERT INTO Mytable(id, name)"           + "VALUES(1, 'NameLongerThanColumnLengthInDatabase')");       displayError(stmt.getWarnings());     } catch (DataTruncation dt) {       displayError(dt);       dt.printStackTrace();     } catch (SQLException se) {       System.out.println("Database error message: " + se.getMessage());     } catch (Exception e) {       e.printStackTrace();     } finally {       stmt.close();       conn.close();     }   } }