【发布时间】:2013-10-31 03:31:41
【问题描述】:
我有代码
public static String getData(String query) {
String output = "";
try {
String connectionUrl = "jdbc:sqlserver://localhost:1234;databaseName=123;user=123;password=123";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
String SQL = "select smth from tableName where smth";
stmt = con.createStatement();
rs = stmt.executeQuery(query);
while (rs.next()) {
output = (String) rs.getObject(1);
}
rs.close();
}
catch (Exception e) {
return "ERROR while retrieving data: " + e.getMessage();
}
return output;
}
如果 value 是字符串,它可以工作。但如果是整数呢?还是布尔值?如何修改此方法使其通用,无论我得到什么类型的数据,我仍然将它作为字符串返回?
【问题讨论】:
-
使用 rs.getInt(0) 如果它抛出异常然后 rs.getString(0) 等等......基本上你会知道数据库中的数据类型......
-
如果不获取列类型,您实际上无法编写准确的通用检索机制。看我的回答。
标签: java sql-server object jdbc return