如何从MySQL数据库修复ComboBox getSelectedItem()匹配

时间:2019-04-24 09:00:49

标签: java

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).

1 个答案:

答案 0 :(得分:0)

如评论中所述,您应该这样做(使用PreparedStatement)

PreparedStatement ps = connection.prepareStatement("SELECT * FROM trainschedule WHERE Destination = ?");
ps.setString(1, name);
rs = ps.executeQuery();
if(rs.next()){
...