这段代码有什么问题?它给我的“品牌”= null。
public String getBrand(@WebParam(name = "regNr") String regNr) throws SQLException {
String brand=null;
Connection con;
Statement st;
ResultSet rs;
String url = "jdbc:mysql://db4free.net:3606/cars";
String user = "cars";
String password = "";
try {
con = (Connection) DriverManager.getConnection(url, user, password);
st = (Statement) con.createStatement();
rs = st.executeQuery("SELECT * FROM Cars WHERE nr= '" + regNr + "'");
if (rs.next()) {
brand=rs.getString("brand");
}
} catch (SQLException ex) {
}
return brand;
}我想从数据库中显示品牌的价值。这是连接的问题吗?
发布于 2013-12-01 06:43:45
要么查询没有返回任何行,要么抛出了SQLException。在catch块中添加一些内容,以发现异常是什么。
顺便说一下:你应该在你的ResultSet,Statement和Connection实例上调用close()。我建议将这些调用放在一个finally块中。此外,您的代码容易受到名为SQL injection的攻击。使用带参数的PreparedStatement修复此问题。
发布于 2013-12-01 06:46:52
可能在代码中有一个异常,但是您看不到它,因为catch里面什么都没有。在其中添加异常日志,以揭示异常并查看问题。
https://stackoverflow.com/questions/20306468
复制相似问题