肥水不流外人田,我自己解决了。上面写的这一句问错了,
preparedStatement.setString(1,java.sql.Types.NULL);
这确的问法:
preparedStatement.setNull(1,java.sql.Types.NULL);正确的解答:
由于有的JDBC驱动不支持 
  preparedStatement.setNull(idx,java.sql.Types.NULL);
  例如SqlServer的驱动(微软网站提供的),
所以必须使用这样的方法:
  preparedStatement.setNull(1,java.sql.Types.VARCHAR);
  FIELD2的类型是varchar(SqlServer)/varchar2(ORACLE)
  就是说第二个参数实际指的是参数的正确类型。