首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java Servlet和MySQL

Java Servlet和MySQL
EN

Stack Overflow用户
提问于 2013-12-01 06:40:44
回答 2查看 59关注 0票数 0

这段代码有什么问题?它给我的“品牌”= null。

代码语言:javascript
运行
复制
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;
}

我想从数据库中显示品牌的价值。这是连接的问题吗?

EN

回答 2

Stack Overflow用户

发布于 2013-12-01 06:43:45

要么查询没有返回任何行,要么抛出了SQLException。在catch块中添加一些内容,以发现异常是什么。

顺便说一下:你应该在你的ResultSetStatementConnection实例上调用close()。我建议将这些调用放在一个finally块中。此外,您的代码容易受到名为SQL injection的攻击。使用带参数的PreparedStatement修复此问题。

票数 1
EN

Stack Overflow用户

发布于 2013-12-01 06:46:52

可能在代码中有一个异常,但是您看不到它,因为catch里面什么都没有。在其中添加异常日志,以揭示异常并查看问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20306468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档