I am working on a code that uses JDBC to retrieve data from Oracle database. e,g, ResultSet rt = statement.executeQuery(sql); String s = rt.getString("User_ID") // it's 'N/A'. if( s.equals("N/A") System.out.println("...."); It is not equal! How come? It doesn show as N/A! Is this a data type conversion thing? Thanks, Kelly
while( rt.next()) String a = rt.getString("user_ID");.... And when I print out a, it did show up as N/A. But it deson't equal to N/A. When I used the compraeTo() method in String, it should a positive integer 97. Any idea? Thanks, Kelly
Hi, I tried your example and it works fine. Here are the SQLs: insert into temp(User_Name) values('N/A'); I used JDBC to retrieve the User_Name and I get the String "N/A". Suresh Selvaraj
Suresh Selvaraj, (author of JQuiz)<br />SCJP2<br /><a href="http://www.decontconsulting.com" target="_blank" rel="nofollow">www.decontconsulting.com</a>
Maybe the problem is extra spaces. Try: String s = null; while( rt.next()) { s = rt.getString("user_ID"); if (s != null) { s = (s.trim()).toUpperCase(); } if ( s.equals("N/A") ) { System.out.println("Equal"); } else { System.out.println("NotEqual s='"+s+"'"); } }
If your field is varchar(N), then equals("N/A") should return true (provided that the field actually contains that string, that your query is right, etc). However, if your field is char(N), N<>3, then it won't as it'll be space-padded. - Peter
Peter den Haan | peterdenhaan.com | quantum computing specialist, Objectivity Ltd
I think Battist may be right. Print out the string fetched and decide your action from there. System.out.println("User_ID = '"+rt.getString("User_ID") +"'"); [ February 19, 2003: Message edited by: kundi kx ]
please buy this thing and then I get a fat cut of the action:
Gift giving made easy with the permaculture playing cards