2017-12-31 10 views
0

프로젝트 페이지를 만들고 싶습니다. 내 Graphique 인터페이스는 괜찮습니다. 그러나 내 데이터베이스를 연결하고이 코드를 작성하여 내 데이터베이스에 내 코드와 비밀번호가 있는지 확인한 후 데이터베이스에 코드가있는 경우에도 항상 my (else) 메시지를받습니다.Netbeans의 데이터베이스에 텍스트 필드와 암호의 코드가 있는지 확인하는 방법

select * from login WHERE code =? and motdepasse =? 

견적 문자열 리터럴을 의미

private void ok1ActionPerformed(java.awt.event.ActionEvent evt) {          
    try { 
     conn=Test.ConnectDB(); 
     String Sql="select * from login WHERE 'code' =?and 'motdepasse' =?"; 
     ps=conn.prepareStatement(Sql); 
     ps.setString(2,code1.getText()); 
     ps.setString(1,passe1.getText()); 
     ResultSet rs=ps.executeQuery(); 
     if(rs.next()){ 
      con_ret s=new con_ret(); 
      s.setVisible(true); 
      JOptionPane.showMessageDialog(null,"welcome"); 
     } else { 
      JOptionPane.showMessageDialog(null,"invalid user or password"); 
     } 
    } catch (SQLException ex) { 
     /*Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex);*/ 
     JOptionPane.showMessageDialog(null,ex); 
    } 
} 
+1

'code1'매개 변수 '1'및 'passe1'이 매개 변수 '2'에 속해 있지 않습니까? – MadProgrammer

+0

ohh thak 당신이 내 데이터베이스에서 순서를 바꾼다고 생각하지만 그것이 바뀌면 –

+0

아니요, 쿼리에 나타나는 순서가 아닙니다. – MadProgrammer

답변

0

가 나는 열 이름, 즉 인용을 끝내 더 나은 것 같아요. 호기심이 있다면 codemotdepasse을 코드와 암호로 사용하여 일치하는지 확인하십시오.

편집 :

또한 매개 변수 색인이 혼동 스럽습니다. 매개 변수 설정은 다음과 같아야합니다.

ps.setString(1,code1.getText()); 
ps.setString(2,passe1.getText()); 
+0

견적을 지우지 만 여전히 동일한 문제가 있습니다. –

+1

견적을 올릴 수 있지만 정확한 인용문을 사용할 수는 있습니다. 단일 어포 스트로피가 아니라 백틱 – Christian

관련 문제