2014-09-17 2 views
0

이것은 내 코드입니다. 나는 내 데이터베이스에 쿼리하고 싶습니다. 들어오는 정보는 텍스트 필드에 기록되어야합니다. 그러나 나는 할 수 없다. 내 오류는 "결과 집합"줄입니다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.자바 MySQL 쿼리 결과 집합 오류

btnBul.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
     String arananad=textField_5.getText(); 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 

     Connection baglanti = null; 
     try { 
      baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", ""); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     String query="SELECT * FROM isci"; 
     Statement ifade = null; 
     ResultSet rs = baglanti.executeQuery(query); 
     try { 
      ifade = baglanti.createStatement(); 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 


     while (rs.next()) 
     { 

      int tcsi = rs.getInt("tc"); 
      String adi = rs.getString("ad"); 
      String soyadi=rs.getString("soyad"); 
      int telnosu=rs.getInt("telno"); 
      String epostasi=rs.getString("eposta"); 
      String egitimi=rs.getString("egitim"); 
      String adresi=rs.getString("adres"); 
      String cinsiyeti=rs.getString("cinsiyet"); 
      String askerliki=rs.getString("askerlik"); 
      String ehliyeti=rs.getString("ehliyet"); 
     textArea_1.setText("Tc:"+tcsi+"Adı:"+adi+"Soyadı:"+soyadi+"Telefon Numarası:"+telnosu+"E-posta adresi:"+epostasi+"Eğitim Düzeyi:"+egitimi+"Adresi:"+adresi+"Cinsiyet:"+cinsiyeti+"Askerlik:"+askerliki+"Ehliyet:"+ehliyeti); 
     } 
     }}); 
+1

예외 메시지 게시? 문제가'ResultSet rs = baglanti.executeQuery (query); '행에 있다면'테이블 이름의 철자가 틀린 것일까? – rhobincu

+1

stacktrace를 보여주세요 –

+0

또한 쿼리를 실행할 때 일반적으로 먼저 명령문을 작성합니다 :'Statement statement = baglanti.createStatement(); statement.executeQuery ("SELECT * FROM isci"); ' – rhobincu

답변

0

쿼리를 실행하려면 Statement not Connection을 사용해야합니다. 연결 클래스처럼 될 수있는이

Statement ifade = baglanti.createStatement(); 
ifade.executeQuery(query) 

전체 코드처럼 변경, 더 executeQuery 메소드가없는이

btnBul.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
     String arananad=textField_5.getText(); 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 

     Connection baglanti = null; 
     try { 
      baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", ""); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     String query="SELECT * FROM isci"; 
     Statement ifade = null; 
     ResultSet rs = null 
     try { 

      ifade = baglanti.createStatement(); 
      rs = ifade.executeQuery(query) 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 


     while (rs.next()) 
     { 

      int tcsi = rs.getInt("tc"); 
      String adi = rs.getString("ad"); 
      String soyadi=rs.getString("soyad"); 
      int telnosu=rs.getInt("telno"); 
      String epostasi=rs.getString("eposta"); 
      String egitimi=rs.getString("egitim"); 
      String adresi=rs.getString("adres"); 
      String cinsiyeti=rs.getString("cinsiyet"); 
      String askerliki=rs.getString("askerlik"); 
      String ehliyeti=rs.getString("ehliyet"); 
     textArea_1.setText("Tc:"+tcsi+"Adı:"+adi+"Soyadı:"+soyadi+"Telefon Numarası:"+telnosu+"E-posta adresi:"+epostasi+"Eğitim Düzeyi:"+egitimi+"Adresi:"+adresi+"Cinsiyet:"+cinsiyeti+"Askerlik:"+askerliki+"Ehliyet:"+ehliyeti); 
     } 
     }}); 
0

먼저 문을 생성 한 다음에하는 executeQuery를 호출하려고 :

String arananad = textField_5.getText(); 
try { 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/iscikayit", "root", ""); 
    String query="SELECT * FROM isci"; 
    Statement ifade = baglanti.createStatement(); 
    ResultSet rs = baglanti.executeQuery(query); 
    while (rs.next()) { 
     int tcsi = rs.getInt("tc"); 
     String adi = rs.getString("ad"); 
     String soyadi=rs.getString("soyad"); 
     int telnosu=rs.getInt("telno"); 
     String epostasi=rs.getString("eposta"); 
     String egitimi=rs.getString("egitim"); 
     String adresi=rs.getString("adres"); 
     String cinsiyeti=rs.getString("cinsiyet"); 
     String askerliki=rs.getString("askerlik"); 
     String ehliyeti=rs.getString("ehliyet"); 
     textArea_1.setText("Tc:" + tcsi + "Adı:" + adi + "Soyadı:" + soyadi + "Telefon Numarası:" + telnosu + "E-posta adresi:" + epostasi + "Eğitim Düzeyi:" + egitimi + "Adresi:" + adresi + "Cinsiyet:" + cinsiyeti + "Askerlik:" + askerliki + "Ehliyet:" + ehliyeti); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

예외를 처리하지 않으므로 한 번에 모두 잡을 수 있습니다. 이것은 최선의 해결책은 아니지만 지금은 효과가 있으며 코드를 읽기 쉽게 만듭니다.

+0

도움을 주셔서 감사합니다. –