繁体   English   中英

java 中的参数化查询

[英]Parametrized queries in java

我在从数据库中检索列时遇到问题

这是我的代码

public String ShowtimeQur(int MovieID)
{
    rs3 = null;
    String  RoomID=null;
    String ShowTime = null;

    try 
    {
        String qu ="Select Room_ID from Movie_Shows_in where Movie_ID="+MovieID;
        //getRoomQur.setInt(1, MovieID);
         rs3=getRoomQur.executeQuery(qu);
        RoomID=rs3.getString("Room_ID");
        getShowtimequr.setString(1, RoomID);
        rs4=getShowtimequr.executeQuery();
        ShowTime=rs4.getString("Show_Times");
    }
    catch (SQLException e)
    {
        e.printStackTrace();
    }

    return ShowTime;
}

我不断收到这种类型的错误

java.sql.SQLException:当前操作无效

使用PreparedStatement

PreparedStatement statement = con.prepareStatement("Select Room_ID from Movie_Shows_in where Movie_ID=?");
statement.setInt(1, MovieID);
ResultSet res = statement.executeQuery()
...
rest of your code

永远,永远,永远不要使用字符串连接来构建查询,因为你会让自己面临SQL 注入的风险

像之前的答案一样,你应该声明一个“ResulSet 结果”变量,在执行查询之后,你应该调用“result.next()”方法将 cursor 指向第一行(最初指向第 0 行)不存在),然后通过示例调用诸如“result.getString(columnNumber)”之类的检索数据方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM