Eu criei uma Classe chamda ConnectionClass com o Código:
package inout;
import java.sql.;
import java.io.;
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!!
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.
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
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