java Resultset未返回具有特殊字符/,
我的oracle db表中的某些列具有具有特殊字符的值。 示例值:
| 1 | Doe, John | 44/3 Demo-City | SomeCountry |
当我从java(jdbc)代码中查询db时,第2列和第3列得到了空字符串(“”),并且没有返回任何错误。其他两列的值正确匹配
package pack;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Tester {
static String url = "jdbc:oracle:thin:@domain:1521:pid";
static String user = "userid";
static String pwd = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String id = "1"; // I am receiving id value in method as parameter for reproducing purpose i am hardcoding it;
String query = "SELECT * FROM EMPLOYEE WHERE ID =" + id;
String name = "";
String address = "";
String country = "";
try {
conn = DriverManager.getConnection(url,user,pwd);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
while(rs.next()) {
name = rs.getString(2);
address = rs.getString(3);
country = rs.getString(4);
}
System.out.println("Name: "+name+" Address: "+address+" Country: "+country);
}catch(Exception e) {
e.printStackTrace();
}
}
}
为上述内容返回的值:-
- id=1李>
- name=“”李>
- 地址=”李>
- country=“SomeCountry”李>
请建议检索缺少的两列的值
# 1 楼答案
本例中的问题是因为使用了不匹配的ojdbc jar版本和安装的db。当我解决了这个问题并使用了正确版本的jar后,问题就解决了