You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by "Anderson, James H [IT]" <ja...@citigroup.com> on 2004/04/21 14:23:18 UTC
[DBUtils] SqlNullCheckedResultSet not replacing nulls
In the following code snippet, SqlNullCheckedResultSet is not replacing nulls, neither for String nor Date results.
Anyone have an idea what's wrong?
Thanks,
jim
[...]
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, user, pswd);
MapListHandler mlh = new MapListHandler() {
public Object handle (ResultSet rs) {
SqlNullCheckedResultSet wrapper = new SqlNullCheckedResultSet(rs);
wrapper.setNullString("--n/a--");
wrapper.setNullDate(today);
rs = ProxyFactory.instance().createResultSet(wrapper);
Object returnVal = null;
try {
System.out.println("*** HERE ***");
returnVal = super.handle(rs);
} catch (Exception e) {
System.out.println(e.getMessage());
}
return returnVal;
}
};
QueryRunner run = new QueryRunner();
List result = (List) run.query(conn, query, mlh);
Iterator it1 = result.iterator();
while (it1.hasNext()) {
Map map = (Map) it1.next();
Set keys = map.keySet();
Iterator it = keys.iterator();
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key + ": " + map.get(key));
}
System.out.println();
}
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
org.apache.commons.dbutils.DbUtils.commitAndCloseQuietly(conn);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: [DBUtils] SqlNullCheckedResultSet not replacing nulls
Posted by David Graham <gr...@yahoo.com>.
Your code looks correct. What JDBC driver are you using? The
implementation of SqlNullCheckedResultSet is dependent on
ResultSet.wasNull() being implemented properly. Of course, it might be a
bug in DbUtils but the test cases pass for this class (unless the tests
have bugs too :-).
Here's the relevant method from DbUtils:
http://jakarta.apache.org/commons/dbutils/xref/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.html#354
There's not a lot of logic there that could go wrong.
David
--- "Anderson, James H [IT]" <ja...@citigroup.com> wrote:
> In the following code snippet, SqlNullCheckedResultSet is not replacing
> nulls, neither for String nor Date results.
>
> Anyone have an idea what's wrong?
>
> Thanks,
>
> jim
>
> [...]
>
> try {
> Class.forName("com.mysql.jdbc.Driver").newInstance();
> conn = DriverManager.getConnection(url, user, pswd);
>
> MapListHandler mlh = new MapListHandler() {
> public Object handle (ResultSet rs) {
> SqlNullCheckedResultSet wrapper = new
> SqlNullCheckedResultSet(rs);
> wrapper.setNullString("--n/a--");
> wrapper.setNullDate(today);
> rs =
> ProxyFactory.instance().createResultSet(wrapper);
> Object returnVal = null;
> try {
> System.out.println("*** HERE ***");
> returnVal = super.handle(rs);
> } catch (Exception e) {
> System.out.println(e.getMessage());
> }
> return returnVal;
> }
> };
>
> QueryRunner run = new QueryRunner();
> List result = (List) run.query(conn, query, mlh);
> Iterator it1 = result.iterator();
> while (it1.hasNext()) {
> Map map = (Map) it1.next();
> Set keys = map.keySet();
> Iterator it = keys.iterator();
> while (it.hasNext()) {
> String key = (String) it.next();
> System.out.println(key + ": " + map.get(key));
> }
> System.out.println();
> }
> } catch (Exception e) {
> System.out.println(e.getMessage());
> e.printStackTrace();
> } finally {
>
> org.apache.commons.dbutils.DbUtils.commitAndCloseQuietly(conn);
> }
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25�
http://photos.yahoo.com/ph/print_splash
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org