简体   繁体   中英

Java Mysql Query Result Set Error

This is a my code. I want to query on my database.Incoming information should be written into the text field. But I can't. My error is "Result set" line. Sorry for my bad English.

 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); 
        }
        }});

In order to execute Query you should use Statement not Connection. The Connection class has no method executeQuery, change it like this

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

Complete code can be like this

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); 
        }
        }});

try creating a Statement first and then calling executeQuery on it:

 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();
 }

Since you are not handling the exceptions you might as well catch them all at once. This is not the best solution but will work for now and makes your code easier to read.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM