Erro na linha 83 - statement = connect.prepareStatement(Sql);
17 respostas
programaçãojava
I
Ivanfilho7
Ao debugar o código aparece erro na linha 83 onde fica o statement = connect.prepareStatement(Sql); já tentei de varias formas e não consegui sempre dá o mesmo erro.
Por curiosidade, onde você instancia a variável connect?
Aliás, por que você tem 2 objetos de Connection?
I
Ivanfilho7
o 1 pra fazer o a conexão com o banco pra fazer o select e o 2 pra return da conexão.
D
darlan_machado
Ok, volto a perguntar, onde você instancia o 1, então?
Ele está null e por isso você tem o erro naquela linha.
I
Ivanfilho7
Então não estanciei,
onde eu estancio pra não gerar o erro ?
D
darlan_machado
Instanciar.
Veja, você tem essas duas variáveis e eu acho inútil. Mas, ok, é tua opção.
Você pode instanciar este objeto antes de invocar o preparedStatement.
Antes de mostrar, perceba que você tem uma variável chamada connect e um método chamado connect. Não que isso não seja permitido, mas, o ideal é ter nomes claros e não iguais.
Sugiro que mude o nome do método para outra coisa, no caso, eu sugiro que seja getConnection
connect=getConnection(); //Aqui você instancia o objetostatement=connect.prepareStatement(Sql);finalArrayList<Calibragem>list=newArrayList<Calibragem>();
S
staroski
Instancia e retorna o primeiro ué.
“Estância” = Lugar onde se criam cavalos.
“Instância” = Objeto de uma classe.
I
Ivanfilho7
try {
Stringsql="SELECT dbo_log_08Checklist.Carreta1, dbo_CadCarreta.Tipo, dbo_log_08Checklist.CaligragemCarreta\n"+"FROM dbo_log_08Checklist INNER JOIN dbo_CadCarreta ON dbo_log_08Checklist.Carreta1 = dbo_CadCarreta.Carreta1";connect=getConnection();PreparedStatementstatement=connect.prepareStatement(sql);finalArrayList<Calibragem>list=newArrayList<Calibragem>();rs=statement.executeQuery();while(rs.next()){Calibragempneus=newCalibragem();pneus.setCarreta("A",rs.getString("Carreta1"));pneus.setTipo("B",rs.getString("Tipo"));pneus.setCalibragem("C",rs.getString("CaligragemCarreta"));list.add(pneus);//adicionando o objeto nela}
Fiz do jeito que falou e ainda apareceu a mensagem de erro na linha
Isso ai é apenas Base De Conexão para Persistência de dados , lembrando que você vai precisar do .jar de conexão no meu caso mysql.
I
Ivanfilho7
Meu erro é na linha
statement = connect.prepareStatement(sql);
D
darlan_machado
Qual o erro?
I
Ivanfilho7
try {
connect=getConnection();**Erroaparecenessalinha-->**statement=connect.prepareStatement("SELECT dbo_log_08Checklist.Carreta1, dbo_CadCarreta.Tipo, dbo_log_08Checklist.CaligragemCarreta\n"+"FROM dbo_log_08Checklist INNER JOIN dbo_CadCarreta ON dbo_log_08Checklist.Carreta1 = dbo_CadCarreta.Carreta1");finalArrayList<Calibragem>list=newArrayList<Calibragem>();rs=statement.executeQuery();while(rs.next()){Calibragempneus=newCalibragem();pneus.setCarreta("A",rs.getString("Carreta1"));pneus.setTipo("B",rs.getString("Tipo"));pneus.setCalibragem("C",rs.getString("CaligragemCarreta"));list.add(pneus);//adicionando o objeto nela}
D
darlan_machado
Qual o erro? Qual a mensagem do erro? Em que momento o erro ocorre?
I
Ivanfilho7
Só diz que o erro é nessa linha
at com.example.comandodiesel.masterlink_mobile.MainActivity$1.onClick(MainActivity.java:76)
D
darlan_machado
Isso é android, não?
Coloca tudo o que tiver no log.
Pois certamente você não está lendo alguma informação deste log.
I
Ivanfilho7
E/ERRO: UCAExc:::0.0 given file does not exist: 192.168.2.15\D:\Android_Conexao\Consulta_Android.accdb
não está encontrando o banco de dados …
D
darlan_machado
Cara, na boa.
Procure um tutorial de como fazer persistência no android, pois você está fazendo as coisas de maneira muito, mas muito fora do comum.
O Android foi desenvolvido para não ter uma conexão direta a uma base de dados.
O mais comum é você interagir com um webservice REST, através do qual, realiza as operações de persistência.
Existe a possibilidade de fazer funcionar, mas isso é como o scriptlet numa JSP: existe, mas não se deve usar.
V
vagner_Portela
Então o padrão é assim!
1º Faça conexão da Base de Dados (BaseDAO.java).
2º Verifique se a BaseDAO conectou
3º Cria uma classe EntityDAO.java e faça o CRUD nessa classe.
OBS: Vou te postar um código: