Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda conectando a base de datos desde un servlet

Estas en el tema de Ayuda conectando a base de datos desde un servlet en el foro de Java en Foros del Web. Tengo este codigo: Código: protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection camino; Statement stm; camino ...
  #1 (permalink)  
Antiguo 21/05/2008, 20:15
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
Ayuda conectando a base de datos desde un servlet

Tengo este codigo:

Código:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        
        PrintWriter out = response.getWriter();
        
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection camino;
        Statement stm;
        camino = DriverManager.getConnection("jdbc:odbc:dbname","","");
        stm = (Statement) camino.createStatement();
        String ver = request.getParameter("ver");
        
        if(ver.equals("Ver Clientes")){
            
            String sql = "select * from Cliente";
            ResultSet r = stm.executeQuery(sql);

            while(r.next()){
                String aceptado = r.getString("aceptado");
                out.println("<br>Rut: "+r.getString("rut"));
                out.println("<br>Nombre: "+r.getString("nombre"));
                out.println("<br>Edad: "+r.getString("edad"));
                if(aceptado.equals("0")){
                    out.println("<br>Aceptado");
                } else if(aceptado.equals("1")){
                    out.println("<br>NO ACEPTADO");
                } else {
                    out.println("<br>ERROR");
                }
                out.println("<br>-----<br>");
            }
        }
        
        out.close();
        
        camino.close();
    }
la cosa es que antes estaba trabajando desde el BlueJ y el codigo para sacar los datos de la DB me iban perfecto. paso exactamente el mismo codigo a NetBeans y me queda un error:

cannot find symbol
symbol : method executeQuery(java.lang.String)
location: class java.beans.Statement
ResultSet r = stm.executeQuery(sql);
1 error


No veo el error en esto:
ResultSet r = stm.executeQuery(sql);

los import que tengo son:

import java.beans.Statement;
import java.io.*;
import java.net.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.*;
import javax.servlet.http.*;


No se cual vendría siendo el problema.
__________________
Rodrigo Lopez
  #2 (permalink)  
Antiguo 21/05/2008, 20:45
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 16 años
Puntos: 2
Respuesta: Ayuda conectando a base de datos desde un servlet

Pues al parecer tu codigo esta bien, ando un poco dormido pero creo que esta bien, lo que si puedo notar es en tus imports por que en lugar de usar el java.bean.Statement, por que no usas el java.sql.Statement o un java.sql.PreparedStatement.

y como tengo algo de sueño jeje te comparto una de mis clases con conexiones jdbc que yo ya no uso, uso pool de conexiones pero comparalas la mia funciona en NetBeans, en Eclipse y sin ellos
Código PHP:
/*
 *Clase: Datamanager.java
 *Descripcion: Esta clase es llamada cuando queremos acceder a la BD, en una consulta o transaccion.
 *Autor: Ing Jose Lino Erick Pineda Santana.
 *Creada el 21 de enero de 2007, 9:15am
 */
import java.io.*;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.*;

public class 
Datamanager{
  private 
ResultSet rs;
  public 
Datamanager(){
  
  }
  
  public 
ResultSet Consulta(String ConnectionStringString ConnectionDBString idString pwString Query){
    try{
      Class.
forName(ConnectionString); //sun.jdbc.odbc.JdbcOdbcDriver 
    
}catch(ClassNotFoundException ex){
        
System.out.println(ex.getMessage());
    }
    try{
      
Connection con;
      
con=DriverManager.getConnection(ConnectionDBidpw);//jdbc:odbc:base
      
Statement st=con.createStatement();
      
rs=st.executeQuery(Query);//SELECT * FROM tabla where campo1='dato' 
      
return rs;
    }catch(
SQLException ex){
        
System.out.println(ex.getMessage());
    }
    return 
rs;
  }
  
  public 
void transaccion(String ConnectionStringString ConnectionDBString idString pwString Query){
     try{
       Class.
forName(ConnectionString);//sun.jdbc.odbc.JdbcOdbcDriver;
     
}catch(ClassNotFoundException ex){}
     try{
       
Connection con;
       
con=DriverManager.getConnection(ConnectionDBidpw);//jdbc:odbc:base
       
Statement st=con.createStatement();
       
st.execute(Query);//"INSERT INTO clientes(id_cliente,nombre,ap,am,em) VALUES('"+session.getAttribute("id_cliente")+"','"+session.getAttribute("nombre")+"','"+session.getAttribute("ap")+"','"+session.getAttribute("am")+"','"+session.getAttribute("em")+"');"
     
}catch(SQLException ex){}
  }

  #3 (permalink)  
Antiguo 21/05/2008, 21:01
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Ayuda conectando a base de datos desde un servlet

Tu me entregaste una clase y desde ahi claro no me da errores, pero al hacerlo desde un servlet por alguna razón como que no me quiere reconocer el executeQuery();

mi servlet comienza asi:

public class Serv extends HttpServlet{
__________________
Rodrigo Lopez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.