Acessar dados de uma BD MySQL

3 respostas
D
Eu criei uma Classe chamda ConnectionClass com o Código:





package inout;





import java.sql.<em>;


import <a href="http://java.io">java.io</a>.</em>;





class ConnectionClass{


  public static void main (String args[]) throws SQLException, IOException{


    Connection con;


    Statement st;


    ResultSet rs;





    try {


      Class.forName("org.gjt.mm.mysql.Driver");


    }catch (ClassNotFoundException cn){}





    String host = "localhost";


    String nbanco = "inoutbd";


    con= DriverManager.getConnection("jdbc:mysql://"+host+"/"+nbanco);





    System.out.println("conexão com o banco de dados estabelecida");





    st=con.createStatement();





  }





}





E criei uma classe chamada InOutClass, nesta classe eu importei a classe ConnectionClass, da seguinte forma.





import inout.ConnectionClass;





e em determinada areá desta classe eu coloquei o seguinte código:





  void jButtonPes_actionPerformed(ActionEvent e) {


    rs=st.executeQuery("select* from caminhoes");


    while (rs.next()){


      System.out.println(rs.getString(1));


      System.out.println(rs.getString(2));


      System.out.println(rs.getString(3));


    }


  }


}





quando eu compilo ele da o seguinte erro:








"InOutFrame.java": Error #: 300 : variable rs not found in class inout.InOutFrame





"InOutFrame.java": Error #: 300 : variable st not found in class inout.InOutFrame





Como faço para resolver este problema?





Grato!!

3 Respostas

B

O simples fato de você importar a classe não vai fazer ela enchergar os membros de outra classe.

Para isso você deveria estender a classe (declará-la com o extends ConnectionClass).

Porém, você não deve fazer isso nessa situação. O que você deve fazer é instanciar um objeto da classe ConnectionClass e utilizar suas variáveis a partir dele.

D
Eu fiz isto, na classe InOutClass:





  ConnectionClass Connection = new ConnectionClass();





  Connection.rs=Connection.st.executeQuery("Select* From caminhoes");





Agora ele da o seguinte erro:





    "InOutFrame.java": Error #: 300 : variable rs not found in class inout.ConnectionClass





    "InOutFrame.java": Error #: 300 : variable st not found in class inout.ConnectionClass
A

Cara, como a Vanessa falou, vc está tentando utilizar uma variável que não existe. Você a declarou em um método da classe e está querendo utilizá-la em outro método, nunca irá funcionar. Se você quer ter uma variável única, declare-a como pública e fora de qualquer método, tornando-a global para esta classe, se assim vc me entende.



[]´s



Dalton

Criado 12 de março de 2003
Ultima resposta 12 de mar. de 2003
Respostas 3
Participantes 3