Erro no codigo ! Quem pode ajudar?

3 respostas
F

Galera , alguem pode me ajudar aonde esta o erro ?
No aguardo da alteração do codigo.

Segue o codigo:

/*JAVABEAN usado para verificar se o usuario está autorizado a usar a agenda
O LoginBean recebe o nome do usuario, obtém a conexão com o SGBD e verifica se está autorizado, registrando
o resultado da consulta na variavel status linha 10.
*/
package agenda;

import java.sql.<em>;

import java.lang.</em>;

import java.util.*;
public class LoginBean{

protected String nome = null;

protected String login=null;

protected boolean status=false;

//**************************************************

public LoginBean(String login,String senha){

this.login=login;

Connection con=null;

Statement stmt=null;

String consulta=SELECT NOME FROM PESSOA, USUARIO+   //Note que na construção do comando sql e inserido uma junção

WHERE USUARIO.ID=PESSOA.ID AND+    //entre Pessoa e Usuario de modo a ser possivel recuperar

USUARIO.SENHA=+senha+AND+        //os dados relacionados armazenado em ambas tabelas

USUARIO.LOGIN=+login+"";

try{

con=ConnectionBean.getInstance().getConnection();

stmt=con.createStatement();

ResultSet rs=stmt.executeQuery(consulta);

if(rs.next()){

status=true;

nome=rs.getString(NOME);	

}

}catch(Exception e){System.out.println(e.getMessage());}

finally{

ConnectionBean.getInstance().devolveConnection(con);

try{stmt.close();}

catch(Exception ee){};

}}

//Estes metodos abaixo são responsaveispelo retorno do login, nome e status da cunsulta respectivamente

//**************************************************

public String getLogin(){return login;}

//**************************************************

public String getNome(){return nome;}

//**************************************************

public boolean getStatus(){return status;}

}

--------------Vejam o erro :

C:\jdk1.4\bin\LoginBean.java:25: cannot resolve symbol

symbol  : variable ConnectionBean

location: class agenda.LoginBean

con=ConnectionBean.getInstance().getConnection();

^

C:\jdk1.4\bin\LoginBean.java:34: cannot resolve symbol

symbol  : variable ConnectionBean

location: class agenda.LoginBean

ConnectionBean.getInstance().devolveConnection(con);

^

2 errors

================================================================>
POREM A CLASSE “ConnectionBean” sem erros , veja abaixo:

//ESTE É O CODIGO JAVABEAN - usado para intermediar a conexao com o banco de dados
//tem a responsabilidade de abrir uma conexao com o Banco de dados,
//retornar uma referencia desta conexao quando solicitado e registrar se a
//conexao esta livre ou ocupada.
package agenda;

import java.sql.<em>;

import java.lang.</em>;

import java.util.*;
public class ConnectionBean{

private Connection con=null; //significa que não é possivel invocar o construtor por meio de um objeto de

//outra classe, no nosso caso permitiremos apenas que uma instância da classe seja criada, de modo que todas

//as referencias apontem para esse objeto. Para que apenas um objeto controle a conexão com o BD.

//Mas se o construtor nõ pode ser chamado internamente como uma instancia da classe e a sua referencia é passada

//para outros objetos ? Tarefa para o metodo estatico getInstance()-Este Metodo verifica se já existe a instancia

//e retorba a referencia. Caso a instância não exista ela é criada antes de se retornar a referencia

private static int clients=0;

static private ConnectionBean instance=null;
private ConnectionBean() {init();}  //init é chamado pelo construtor para estabelecer a conexao com o SGBD, onde carrega o driver JDBC

//e obtém uma conexão com o SGBD

//**************************************************

static synchronized public ConnectionBean getInstance(){

if(instance ==null) {

instance=new ConnectionBean();

}

return instance;

}

//**************************************************

private void init(){  //carrega o driver JDBC do tipo 4 para PointBase e obtém uma conexão com o SGBD

try{

Class.forName(com.pointbase.jdbc.jdbcUniversalDriver);

con=DriverManager.getConnection(jdbc:pointbase:agenda,PUBLIC,public);

}catch(Exception e){System.out.println(e.getMessage());};

}

//**************************************************

//Este metodo abaixo e chamado quando se deseja devolver a conexao

public synchronized void devolveConnection(Connection con){

if(this.con==con){

clients;

notify();

}

}

//**************************************************

//E chamado quando se deseja obter a conexao

public synchronized Connection getConnection(){

if(clients >0){

try{ wait(5000);

}
catch(InterruptedException e) { };
 if(clients >0) return null;
 }
   clients++;
   return con;
 }

//**************************************************
}

3 Respostas

G

fma1, utilize as tags quando usar códigos para que fique mais legível…

:wink:

M

Salve,

bem como o JavaPlayer disse o código ficou muito difícil sem as tags, mas acho que o erro é o seguinte: você chamou uma classe que não existe ConnectionBean substitua por LoginBean

:okok:

R

O Código está muito confuso, mas parece que você não instanciou nenhum obj da classe ConnectionBean.

con=ConnectionBean.getInstance&#40;&#41;.getConnection&#40;&#41;;

Essa é a primeira ferencia que eu vi a sua classe ConnectionBean antes disso instancie um obj e trabelhe com este obj.

Criado 21 de maio de 2005
Ultima resposta 23 de mai. de 2005
Respostas 3
Participantes 4