PreparedStatement: setRef(int parameterIndex, Ref x) : PreparedStatement « java.sql « Java by API






PreparedStatement: setRef(int parameterIndex, Ref x)

 

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 deptName = "oldName";
    String newDeptName = "newName";

    ResultSet rs = null;
    Connection conn = null;
    PreparedStatement pstmt = null;
    PreparedStatement pstmt2 = null;
    try {
      conn = getConnection();
      // prepare query for getting a REF object and PrepareStatement object
      String refQuery = "select manager from dept_table where dept_name=?";
      pstmt = conn.prepareStatement(refQuery);
      pstmt.setString(1, deptName);
      rs = pstmt.executeQuery();
      java.sql.Ref ref = null;
      if (rs.next()) {
        ref = rs.getRef(1);
      }
      if (ref == null) {
        System.out.println("error: could not get a reference for manager.");
        System.exit(1);
      }
      String query = "INSERT INTO dept_table(dept_name, manager)values(?, ?)";
      pstmt2 = conn.prepareStatement(query);
      pstmt2.setString(1, newDeptName);
      pstmt2.setRef(2, ref);
      // execute query, and return number of rows created
      int rowCount = pstmt2.executeUpdate();
      System.out.println("rowCount=" + rowCount);
    } finally {
      pstmt.close();
      pstmt2.close();
      conn.close();
    }
  }
}

   
  








Related examples in the same category

1.PreparedStatement: addBatch()
2.PreparedStatement: executeUpdate()
3.PreparedStatement: getParameterMetaData()
4.PreparedStatement: getWarnings()
5.PreparedStatement: setAsciiStream(int parameterIndex, InputStream x, int length)
6.PreparedStatement: setBigDecimal(int parameterIndex, BigDecimal x)
7.PreparedStatement: setBinaryStream(int parameterIndex, InputStream x, int length)
8.PreparedStatement: setBoolean(int parameterIndex, boolean x)
9.PreparedStatement: setByte(int parameterIndex, byte x)
10.PreparedStatement: setCharacterStream(int parameterIndex, Reader reader, int length)
11.PreparedStatement: setClob(int parameterIndex, Clob x)
12.PreparedStatement: setDate(int parameterIndex, Date x)
13.PreparedStatement: setDouble(int parameterIndex, double x)
14.PreparedStatement: setInt(int parameterIndex, int x)
15.PreparedStatement: setFetchSize(int rows)
16.PreparedStatement: setFloat(int parameterIndex, float x)
17.PreparedStatement: setLong(int parameterIndex, long x)
18.PreparedStatement: setNull(int parameterIndex, int sqlType)
19.PreparedStatement: setObject(int parameterIndex, Object x)
20.PreparedStatement: setShort(int parameterIndex, short x)
21.PreparedStatement: setString(int parameterIndex, String x)
22.PreparedStatement: setTime(int parameterIndex, Time x)
23.PreparedStatement: setTimestamp(int parameterIndex, Timestamp x)
24.PreparedStatement: setURL(int parameterIndex, URL x)