【发布时间】:2014-07-21 14:03:53
【问题描述】:
当我运行这个查询时:
select character from tbl_Unknown where format(fw,'.###')='48.143' and code='0001'
它在 Access 查询界面中返回一个结果,但是当我尝试从 Java 运行它时它没有返回结果。
我的表(tbl_Unknown):
char_id: autonumber value:1
fw: short text value:'48.1425' Hint:after format it become '48.143'.
code: short text value:'0001'
character: short text value: 'x'
我的java代码:
public static String getLostedCharacter(String font,String fw, String code) {
Connection conn = ConnectDB.getConnection();
String character = null;
try {
Statement statement = conn.createStatement();
String query = "select character from tbl_"+font+" where format(fw,'.###')='"+fw+"' and code='" + code + "'";
ResultSet rs = statement.executeQuery(query);
while (rs.next()) {
character = rs.getString(1);
return character;
}
statement.close();
rs.close();
} catch (SQLException ex) {
return "";
}
return "";
}
【问题讨论】:
-
我认为你有一个例外。请添加
ex.printstacktrace()' in yourcatch` 块以查看发生了什么。 -
没有异常就是不返回结果(没有找到匹配)
-
@user3649116 你怎么知道没有异常?你的 catch 块只有
return "",这和你没有结果时做的完全一样。
标签: java sql ms-access jdbc ucanaccess