2017-06-12 15 views
1

ログインコードを作成しようとしています。簡単に説明は、エラーが常に機能がJDBCドライバのほとんどの問題があるJDBCドライバでsqliteが実装されていません

JButton btnLogin = new JButton("Login"); 
    btnLogin.addActionListener(new ActionListener() { 
     @SuppressWarnings("deprecation") 
     public void actionPerformed(ActionEvent arg0) { 
      String query = "select Username,Password from Login where Username=? and Password=?"; 
      try{ 

       PreparedStatement pst = connDB.prepareStatement(query); 

       pst.setString(1,textFieldUN.getText()); 
       pst.setString(2, passwordField.getText()); 

       ResultSet rs = pst.executeQuery(); 
       int count= 0; 
       while(rs.next()){ 
        count++; 
       } 
       if(count == 1){ 
        JOptionPane.showMessageDialog(null, "Signed In"); 
        frame.dispose(); 
        Details details = new Details(); 
        details.setVisible(true); 

        String qwerty = " insert into LoginTemp select * from Login where Username = ? "; 
        PreparedStatement psts = connDB.prepareStatement(qwerty); 
        psts.setString(1, textFieldUN.getText()); 
        psts.executeQuery(qwerty); 
       }else{ 
        JOptionPane.showMessageDialog(null, "Incorrect Username and Password Try again"); 
       } 
       rs.close(); 
       pst.close(); 
      }catch(Exception e){ 
       JOptionPane.showMessageDialog(null, e); 
      } 

     } 
    }); 
+1

どのような機能ですか?接続している場合は、SQLLiteドライバが存在します。あなたが何を求めているのか不明です。 – EJP

+0

connDBはどこに定義されていますか? –

+0

エラーを表示してください。 –

答えて

2

に実装されていないことを示しているので、私はdeatilsページでアカウントの詳細を表示したいが、私はそれを行う傾けることですPreparedStatement.executeQuery(String)がSQLite JDBCドライバに実装されていないため、psts.executeQuery(qwerty);にあります。

JDBCドライバのソースコード:PreparedStatement.exequteQuery(String)

PreparedStatement.exequteQuery(String)は、この動作はまたnot Implemented by SQLite JDBC driverPreparedStatement.executeQuery(String sql)の答えで説明されてSQLException("not implemented by SQLite JDBC driver");

SQLiteのJDBCドライバで実装されていませんがスローされます。

psts.executeQuery(); resp。 psts.executeUpdate();にはパラメータがありません。これは、準備された文を作成するときにすでにクエリが定義されているためです。

Btw。 常にがあなたのPreparedStatementResultSetを閉じることを確認してください。 説明についてはDo I need to close PreparedStatement

関連する問題