import java.io.*; import java.sql.*; import java.util.*; public class TestObject { Connection con; private int ind; public TestObject(int ind) throws Exception { this.ind = ind; String driverClass = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;SelectMethod=cursor"; String dbUser = "test"; String dbPassword = "test"; Class.forName(driverClass); con = DriverManager.getConnection(dbUrl, dbUser, dbPassword); } public void process() throws Exception { System.out.println(Thread.currentThread().getName()+":begin"); con.setAutoCommit(false); // Select PreparedStatement selStmt = con.prepareStatement("select id, text from test where id =?"); selStmt.setInt(1, ind); System.out.println(Thread.currentThread().getName()+":select 1"); ResultSet rs = selStmt.executeQuery(); int id = 0; String text = null; while (rs.next()) { id = rs.getInt("id"); text = rs.getString("text"); System.out.println("id = " + id + ", text = " +text); } rs.close(); // Delete PreparedStatement delStmt = con.prepareStatement("delete test where id = ?"); delStmt.setInt(1, ind); System.out.println(Thread.currentThread().getName()+":delete"); delStmt.executeUpdate(); // Insert PreparedStatement insStmt = con.prepareStatement("insert into test(id, text) values (?, ?)"); insStmt.setInt(1, ind); insStmt.setString(2, "Test " + ind); System.out.println(Thread.currentThread().getName()+":insert"); insStmt.executeUpdate(); // Select System.out.println(Thread.currentThread().getName()+":select 2"); rs = selStmt.executeQuery(); while (rs.next()) { id = rs.getInt("id"); text = rs.getString("text"); System.out.println("id = " + id + ", text = " +text); } rs.close(); // Update PreparedStatement updStmt = con.prepareStatement("update test set text= ? where id = ?"); updStmt.setString(1, "Update text " + ind); updStmt.setInt(2, ind); System.out.println(Thread.currentThread().getName()+":update"); updStmt.executeUpdate(); System.out.println(Thread.currentThread().getName()+":commit"); con.commit(); selStmt.close(); delStmt.close(); insStmt.close(); updStmt.close(); } }