Поиск записи в базе данных «Java.lang.NullPointerExepton»

1

Я хочу найти идентификатор фильма в таблице базы данных. Я новичок в подключении к базе данных и новичок в java. Этот код не имеет ошибки в моей форме, но я создал запись id '1' и всегда дает мне эту ошибку "Java.lang.NullPointerExepton".

У меня есть запись с этим идентификатором, но всегда есть эта ошибка. Любая помощь будет оценена

Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:

    String url = "jdbc:mysql://localhost:3306/project";
            String userid = "root";
            String password = "";

    try{
                String sql="SELECT Movie_idMovie FROM rental_movie"
                        + "WHERE Movie_idMovie =?";
                pst=conn.prepareStatement(sql);
                pst.setString(1, jTextField1.getText());
                rs=pst.executeQuery();
                if(rs.next()){
                    String add1=rs.getString("Movie_idMovie");
                    jTextField2.setText(add1);
                }
            }
            catch(Exception e){
                JOptionPane.showMessageDialog(null,e);
            }
        } 
  • 2
    Добавьте трассировку стека, сообщение, которое показывает исключение NullPointerException .
  • 0
    Но, глядя на ваш код, похоже, что Connection con имеет значение null . Где вы его инициализируете?
Показать ещё 3 комментария
Теги:
jdbc

1 ответ

2
Лучший ответ

Проблема здесь в следующем:

Connection conn = null;

String url = "jdbc:mysql://localhost:3306/project";
String userid = "root";
String password = "";

pst=conn.prepareStatement(sql);

Вы пропустили важный шаг на самом деле открытия соединения, оставив conn null при попытке использовать его. Попробуйте добавить следующее, прежде чем вызвать conn.prepare...

conn = DriverManager.getConnection(url, userid, password);
  • 0
    Теперь он говорит: «com.mysql.jbdc.exceptions.jbdc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать около '=' 1 в строке 1. "
  • 1
    Вам нужно пробел перед "ГДЕ".
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню