[英]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 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.