axo q ali nao fara diferença se tiver maiusculo ou nao
mas qto ao erro
em que linha ele acusa o erro?
e que mensagem de erro ele da?
vc lembrou de importar o jdbc para seu projeto?
os jar para fazer a conexao com o banco tao importados?
Então os jars estão funcionado blz já testei ate enseri um cara la no netbeans
o pacote está la em cima
package Motel.jdbc.dao;
os erros estão na linhas?
3- No import import Motel.conexao.Conexao;
8- No private private Conexao conexao;
14- No this.conexao = Conexao.obterConexao();
19 - No prepareStatement PreparedStatement pst = this.conexao.prepareStatement(
Não da pra copilar o arquivo pois estão sublinhadas essas linhas onde acuzam os erros…
Meu ta dificil fazer isso heim !!!
package Motel.jdbc.dao;
import Motel.bean.ClienteBean;
import Motel.conexao.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ClienteDao {
private Conexao conexao;
private Connection connection;
public ClienteDao(Connection con) {
this.conexao = con;
}
public ClienteDao() throws SQLException {
this.conexao = Conexao.obterConexao();
}
public void adiciona(ClienteBean cliente) throws SQLException {
try{
//Conexao connection = new Conexao();
PreparedStatement pst = this.conexao.prepareStatement(
"insert into TBCLIENTE (COD_RG,NOME,TELEFONE,ENDEREO) values (?, ?, ?, ?)");
pst.setString(1, cliente.getCod_Rg());
pst.setString(2, cliente.getNome());
pst.setString(3, cliente.getTelefone());
pst.setString(4, cliente.getEndereco());
pst.execute();
}catch(SQLException e){
//con.rollback();
throw e;
}
}
}
cara vc fez uma enrolacera ai pra nada, ele nao vai conseguir fazer isso ai, vai dar erro de cast e de referencia estatica, faz o seguinte:
so isso vc precisa ter na classe clienteDao:
public void adiciona(ClienteBean cliente) throws SQLException {
try{
Conexao connection = new Conexao();
PreparedStatement pst = connection.obterConexao().prepareStatement(
"insert into TBCLIENTE (COD_RG,NOME,TELEFONE,ENDEREO) values (?, ?, ?, ?)");
pst.setString(1, cliente.getCod_Rg());
pst.setString(2, cliente.getNome());
pst.setString(3, cliente.getTelefone());
pst.setString(4, cliente.getEndereco());
pst.execute();
}catch(SQLException e){
//con.rollback();
throw e;
}
}
se vc olha ele cria um objeto do tipo Conexao ali ai depois da connection.obterConexao, isso vai retornar um objeto do tipo Connection la nao precisa faze esse monte de coisa que fizesse, usa so esse metodo ali que te colei acima na sua classe que nao vai dar nenhum erro de sintaxe.
aquino.will se tivesse enviado o stack trace que fala qual é o erro acho que já teriamos encerrado a questão.
Então pelo amor de Deus cola a mensagem de erro (stack trace) ai pra nois tchê.
flws
essa parte aqui nao precisa se vc utilizar o codigo que passei acima:
private Conexao conexao;
private Connection connection;
public ClienteDao(Connection con) {
this.conexao = con;
}
public ClienteDao() throws SQLException {
this.conexao = Conexao.obterConexao();
}
Ummmmm…
valeu!!!
Acho que agora ta indo mas deu esse erro, mas para isso eu tive que colocar a minha Classe Conexão no mesmo pacote do ClienteDao, eu tinha colocado a classe Conexão em outro pacote “Motel.Conexao” , mas acho que era para dar certo… mas blz
E sobre o print do stack trace acho que sou mto burro ou não sei o que ocorre, pq quando coloco para printar o stack trace da erro na página e não da para coloca-lo.
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
Motel.jdbc.dao.ClienteDao.adiciona(ClienteDao.java:11)
Motel.actions.CadastraCliente.processRequest(CadastraCliente.java:43)
Motel.actions.CadastraCliente.doPost(CadastraCliente.java:79)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
esse erro ai eh que alguma variavel ta com valor nulo
foi?
vc olho pra ver se ele inseriu la no banco de dados?
usasse akela funcao que te passei ali?
a parada pa package de certo ela tava escrita o caminho errado pq eh pra ir sim
Tem uma referencia nula na linha 11 da classe ClienteDao, vc pode dizer o que há nesta linha?
flws
AAAAAAA
Eu to ficando mto confuso!!!
Então a linha é essa
Conexao connection = new Conexao();
Então não está fazendo a conexão com o banco certo?
aquela classe Teste que o fantomas falo onde eu crio ela para testar
tenho 4 pacotes
Motrel.action onde está o servelet
Motel.Beans onde esta o meu Bean
Motel.conexão onde está a minha conexão
Motel.jdbc.Dao onde está o meu dao
Onde eu crio essa classe teste para testa-la ?
Ou pode ser na Pagina web ?
pode ser
vc nao testo a classe conexao antes?
dentro da classe conexao po um metodo main e la instancia um objeto do tipo Conexao e xama a funcao obterConexao() se tiver funcionando vai imprimir no console conectou, se nao tem algum erro com definicao de porta o database o usuario e senha ai tem q ver o erro que ira dar
Pode ser neste Motrel.action onde está o servelet
Então fiz alguns teste e a conexão está OK!!!
package Motel.conexao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexao {
public Connection obterConexao() {
Connection con = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/MOTEL","sa","willian123");
System.out.println("Conectado");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {
Conexao con = new Conexao();
con.obterConexao();
System.out.println("Conectou ao banco");
}
}
O que será nesse caso, anteriormente tinha testado o Servelet se ele estava resgatando o que o cara digitou
e estava funcionando e como não foi alterado nada nele então ele está trazendo os caras certo… o que está acontecendo???