簡體   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