Java Mysql查询结果集错误

时间:2014-09-17 10:18:11

标签: java mysql sql syntax-error resultset

这是我的代码。我想查询我的数据库。应将输入的信息写入文本字段。但我不能。我的错误是"结果集"线。抱歉我的英语不好。

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

2 个答案:

答案 0 :(得分:0)

为了执行Query,您应该使用Statement not Connection。 Connection类没有方法executeQuery,像这样改变它

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

完整代码可以是这样的

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

答案 1 :(得分:0)

首先尝试创建一个Statement,然后在其上调用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();
 }

由于您没有处理异常,因此您可以同时捕获所有异常。这不是最好的解决方案,但现在可以使用,使您的代码更易于阅读。