从JTextField
获取字符串名称变量
我正在尝试从数据库中匹配该列值,并将所有行值都获取到该列
public User1 getUserDestination(String name){
try{
//String s="Select * FROM trainschedule WHERE Destination="+name1;
rs=stm.executeQuery("SELECT * FROM trainschedule WHERE Destination="+name);
// rs=stm.executeQuery(s);
if(rs.next()){
user1=new User1();
user1.setTrainNo(Integer.parseInt(rs.getString("Train_No")));
user1.setTrainName((rs.getString("tName")));
user1.setDeparture((rs.getString("Departure")));
user1.setDepartureTime((rs.getString("dTime")));
user1.setArrival((rs.getString("Arrival")));
user1.setArrivalTime((rs.getString("aTime")));
user1.setTicketPrice((rs.getString("Ticket_Price")));
System.out.println(user1.getTrainName());
return user1;
}
else{
return null;
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
总是给我这样的SQL异常
Unknown column in 'where clause'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97).
答案 0 :(得分:0)
如评论中所述,您应该这样做(使用PreparedStatement)
PreparedStatement ps = connection.prepareStatement("SELECT * FROM trainschedule WHERE Destination = ?");
ps.setString(1, name);
rs = ps.executeQuery();
if(rs.next()){
...