Galera boa noite feliz 2013 a todos…!!!
Então ja comecei o ano com um erro aqui no meu código q não to conseguindo descobrir…
o erro é o seguinte…
13/01/01 22:50:19 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
13/01/01 22:50:19 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
13/01/01 22:50:19 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
13/01/01 22:50:19 at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
13/01/01 22:50:19 at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
13/01/01 22:50:19 at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
13/01/01 22:50:19 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
13/01/01 22:50:19 at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
13/01/01 22:50:19 at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3074)
13/01/01 22:50:19 at br.com.abaco.treinamento.java.noturno.passageiros.dao.PassageirosDao.cadastrarPassageiro(PassageirosDao.java:35)
13/01/01 22:50:19 at br.com.abaco.treinamento.java.noturno.passageiros.be.PassageirosBe.cadastrarPassageiro(PassageirosBe.java:50)
13/01/01 22:50:19 at br.com.abaco.treinamento.java.noturno.passageiros.servlet.CadastrarPassageiros.service(CadastrarPassageiros.java:39)
13/01/01 22:50:19 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
13/01/01 22:50:19 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
13/01/01 22:50:19 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
13/01/01 22:50:19 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
13/01/01 22:50:19 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
13/01/01 22:50:19 at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
13/01/01 22:50:19 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
13/01/01 22:50:19 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
13/01/01 22:50:19 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
13/01/01 22:50:19 at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
13/01/01 22:50:19 at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
13/01/01 22:50:19 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
13/01/01 22:50:19 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
13/01/01 22:50:19 at java.lang.Thread.run(Thread.java:619)
Minha classe DAO
public class PassageirosDao
{
private Connection conexao = null;
public PassageirosDao(Connection conexao)
{
this.conexao = conexao;
}
public void cadastrarPassageiro(PassageirosVo passageiroVo) throws SQLException
{
PreparedStatement ps = null;
String sql = "INSERT INTO TB_PASSAGEIRO (CODIGO, NUMERO_VOO, ORIGEM, DESTINO, NOME_PASSAGEIRO, SOBRENOME_PASSAGEIRO, QUANTIDADE_MALAS, VALOR_PASSAGEM) VALUES (?,?,?,?,?,?,?,?)";
ps= conexao.prepareStatement(sql);
ps.setLong (1, gerarSequence("SEQUENCE_PASSAGEIRO"));
ps.setLong (2, passageiroVo.getNumeroVoo());
ps.setString(3, passageiroVo.getOrigem());
ps.setString(4, passageiroVo.getDestino());
ps.setString(5, passageiroVo.getNomePassageiro());
ps.setString(6, passageiroVo.getSobrenome());
ps.setLong (7, passageiroVo.getQuantidadeMalas());
ps.setDouble(8, passageiroVo.getValorPassagem());
ps.executeUpdate();
}
private long gerarSequence(String sequence) throws SQLException
{
PreparedStatement ps = null;
ResultSet rs = null;
long codigo = 0;
String sql = "SELECT " + sequence + ".NEXTVAL AS CODIGO FROM DUAL";
ps = conexao.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next())
{
codigo = rs.getLong("CODIGO");
}
return codigo;
}
}
Minha Classe BE
public class PassageirosBe
{
private Connection conexao = null;
public PassageirosBe() throws SQLException
{
abreConexao();
}
private void abreConexao() throws SQLException
{
String usuario = "noturno";
String senha = "noturno";
String thinConn = "jdbc:oracle:thin:@localhost:1521:XE";
DriverManager.registerDriver(new OracleDriver());
conexao = DriverManager.getConnection(thinConn,usuario,senha);
conexao.setAutoCommit(false);
}
private void fechaConexao()
{
try
{
if(conexao != null && !conexao.isClosed())
{
conexao.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void cadastrarPassageiro(PassageirosVo passageiroVo) throws SQLException
{
PassageirosDao dao = new PassageirosDao(conexao);
dao.cadastrarPassageiro(passageiroVo);
conexao.commit();
}
}
E a Servlet
public class CadastrarPassageiros extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
PassageirosVo passageiros = new PassageirosVo();
String numeroVooString = request.getParameter("campo_numero_voo");
String origem = request.getParameter("campo_origem");
String destino = request.getParameter("campo_destino");
String nomePassageiro = request.getParameter("campo_nome");
String sobrenomePassageiro = request.getParameter("campo_sobrenome");
String quantidadeMalasString = request.getParameter("campo_quantidade_malas");
String valorPassagemString = request.getParameter("campo_valor_passagem");
long numeroVoo = Long.parseLong(numeroVooString);
long quantidadeMalas = Long.parseLong(quantidadeMalasString);
double valorPassagem = Double.parseDouble(valorPassagemString);
PassageirosBe be = new PassageirosBe();
be.cadastrarPassageiro(passageiros);
request.setAttribute("passageiroVo", passageiros);
request.setAttribute("msgSucesso", "Passageiro cadastrado com sucesso!");
RequestDispatcher rd = request.getRequestDispatcher("/view/CadastrarPassageiro.jsp");
rd.forward(request, response);
}
catch(Throwable e)
{
e.printStackTrace();
}
}
}