File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JDBC and the fly likes getString() in ResultSet Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "getString() in ResultSet" Watch "getString() in ResultSet" New topic
Author

getString() in ResultSet

Kelly Adams
Greenhorn

Joined: Feb 15, 2003
Posts: 13
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
David O'Meara
Rancher

Joined: Mar 06, 2001
Posts: 13459

do you move the result set forward one first?

Dave
Kelly Adams
Greenhorn

Joined: Feb 15, 2003
Posts: 13
Dave,
Yes. I did. I used

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
Suresh Selvaraj
Ranch Hand

Joined: Nov 14, 2000
Posts: 104
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>
Lu Battist
Ranch Hand

Joined: Feb 17, 2003
Posts: 104
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+"'");
}
}
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
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
kundi kx
Greenhorn

Joined: Feb 03, 2003
Posts: 10
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 ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: getString() in ResultSet
 
Similar Threads
Try/Catch/Return
JTree help needed
Serializing ResutSet
next line in swings
JDBC returning values using Scientific Notation