Java PreparedStatement.setClob(int parameterIndex, Clob x)

Syntax

PreparedStatement.setClob(int parameterIndex, Clob x) has the following syntax.

void setClob(int parameterIndex,  Clob x)  throws SQLException

Example

In the following code shows how to use PreparedStatement.setClob(int parameterIndex, Clob x) method.


//w  w w  .  j a  va2 s .c  o m
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Main {
  public static Connection getConnection() throws Exception {
    String driver = "org.gjt.mm.mysql.Driver";
    String url = "jdbc:mysql://localhost/databaseName";
    String username = "root";
    String password = "root";
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

  public static void main(String[] args)throws Exception {
    String id = "0001";
    String newID = "0002";

    ResultSet rs = null;
    Connection conn = null;
    PreparedStatement pstmt = null;
    try {
      conn = getConnection();
      // begin transaction
      conn.setAutoCommit(false);
      String query1 = "select clob_column from clob_table where id = ?";
      pstmt = conn.prepareStatement(query1);
      pstmt.setString(1, id);
      rs = pstmt.executeQuery();
      rs.next();
      java.sql.Clob clob = (java.sql.Clob) rs.getObject(1);
      String query = "insert into clob_table(id, clob_column) values(?, ?)";
      pstmt = conn.prepareStatement(query);
      pstmt.setString(1, newID);
      pstmt.setClob(2, clob);

      int rowCount = pstmt.executeUpdate();
      System.out.println("rowCount=" + rowCount);
      conn.commit();
    } finally {
      rs.close();
      pstmt.close();
      conn.close();
    }
  }
}




















Home »
  Java Tutorial »
    java.sql »




DatabaseMetaData
ParameterMetaData
PreparedStatement
ResultSet
Timestamp