2017-01-13 2 views
-1

Я пытаюсь вызвать метод с именем searchitem в классе Query в jbutton с именем Search, который будет искать все данные в элементе таблицы в базе данных и отображать их в jtextfields. Ниже приведен метод searchitem в классе Query.Метод Java в классе нельзя применять к заданным типам

public ResultSet searchitem() { 
    try { 
     String sql = "select * from tblitem"; 
     stmt = conn.connect.createStatement(); 
     rs = stmt.executeQuery(sql); 
     return rs; 
    } catch (SQLException ex) { 
     System.out.println("SQL Exception in Seach Book "+ex.getMessage()); 
     JOptionPane.showMessageDialog(null, "Error in Retriving Book Information", "Error", JOptionPane.ERROR_MESSAGE); 
     Logger.getLogger(Query.class.getName()).log(Level.SEVERE, null, ex); 
     return null; 
    } 
} 

Это код для ввода кода в jbutton.

try { 

     String id, nme,cos,pr,available,sid,search; 

     search= stf1.getText(); 

     if(search.length()!=5 || !search.toLowerCase().startsWith("i")){ 
      JOptionPane.showMessageDialog(null, "Incorrect Item ID \nItem ID should start with 'i' and 5 characters should be used ", "Error", WIDTH); 
     } 


     else{ 
      Query query = new Query(); 
      rs = query. searchitem(search); 
      rs.next(); 

      id = rs.getString(1); 
      nme= rs.getString(2); 
      cos = rs.getString(3); 
      pr = rs.getString(4); 
      available = rs.getString(5); 
      sid = rs.getString(6); 

      boolean availablity = Boolean.valueOf(available); 

      etf1.setText(id); 
      etf2.setText(nme); 
      etf3.setText(cos); 
      etf4.setText(pr); 
      ecb1.setSelected(availablity); 
      etf5.setText(sid); 
     } 

      } catch (SQLException ex) { 
     JOptionPane.showMessageDialog(null, "Item not Available. \nEnter an existing Item ID", "Unavailable", JOptionPane.ERROR_MESSAGE); 
     System.out.println("SQL Exception in retriving Item details"); 
     Logger.getLogger(Item.class.getName()).log(Level.SEVERE, null, ex); 
    } 
}           

Но я получаю сообщение об ошибке в строке rs = query. searchitem(search); говоря

метода searchitem в классе Query не может быть применен к данным типам;
требуется: никакие аргументы
найдено: String
причины: фактические и формальные списки аргументов не различаются по длине

+3

Очевидно 'searchitem' не принимает аргументы - как исключение, так четко сказано. – Idos

+0

Сообщение об ошибке очень ясно. Что именно вы не понимаете по этому поводу? Метод 'searchitem()' не принимает никаких параметров, но вы пытаетесь вызвать его с одним параметром. – Jesper

ответ

0

Вашего метод segnature не имеют аргументов: public ResultSet searchitem() {.

Но вы называете это одним аргументом rs = query. searchitem(search);. что не подходит.

Так удалить аргумент при вызове функции, или реализовать функцию, ожидать один параметр правильного типа

+1

Возможно, ответ не нужен, просто как «простая опечатка» ... – Idos

Смежные вопросы