import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; public class vti { private final static String driver = "org.apache.derby.jdbc.EmbeddedDriver"; public static void main(String[] args) throws Throwable { Class.forName(driver).newInstance(); Connection conn = DriverManager.getConnection("jdbc:derby:mydb;create=true;territory=en_US"); conn.setAutoCommit(true); Statement s = conn.createStatement(); try { s.execute("drop table t"); } catch (SQLException e) {} s.execute("create table t (i int, v varchar(128))"); PreparedStatement ins = conn.prepareStatement("insert into t values (?, ?)"); ins.setInt(1,0); ins.setString(2, "ABC"); ins.execute(); ins.setInt(1,1); ins.setString(2, "XYZ"); ins.execute(); ins.setInt(1,2); ins.setString(2, ""); ins.execute(); PreparedStatement ok = conn.prepareStatement("select * from t where v like ''"); ResultSet ok_rs = ok.executeQuery(); while (ok_rs.next()) { System.out.println("ok: "+ok_rs.getObject(1) + " <" + ok_rs.getObject(2) + ">"); } PreparedStatement bad = conn.prepareStatement("select * from t where v like ?"); bad.setString(1, ""); ResultSet bad_rs = bad.executeQuery(); while (bad_rs.next()) { System.out.println("bad: "+bad_rs.getObject(1) + " <" + bad_rs.getObject(2) + ">"); } } static void printSQLError(SQLException e) { while (e != null) { System.out.println(e.toString()); e = e.getNextException(); } } }