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

Uso de Derby en codigo de NETBeans

Estas en el tema de Uso de Derby en codigo de NETBeans en el foro de Java en Foros del Web. Buenas a todos, he estado viendo algo del foro y la verdad que esta bueno, se ve mucha gente que sabe y quiero aprender asi ...
  #1 (permalink)  
Antiguo 25/03/2011, 13:57
 
Fecha de Ingreso: marzo-2011
Ubicación: Mendoza
Mensajes: 15
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Uso de Derby en codigo de NETBeans

Buenas a todos, he estado viendo algo del foro y la verdad que esta bueno, se ve mucha gente que sabe y quiero aprender asi puedo ayudar a otros tambien!.
Estoy empezando con NETBeans y estoy desarrollando una pequeña APP, en la cual estoy aplicando conocimientos de diseño orientado a objetos. El tema es el siguiente:
En la facultad con unos compañeros, habiamos hecho un proyecto pero en otro lenguaje y como que tuvimos que hacer la parte de "mapeo" a BD Relacional. Segun entiendo, con NETBeans no seria necesario dado que ya viene incluido. He estado buscando tutoriales pero entiendo muy poco y me pierdo :(. Quisiera saber como tengo que hacer en el codigo para poder conectarme con las tablas que he creado en la BD de Derby (actualmente tengo 2). Es la mejor manera esta?? o es mejor usar MySQL aparte??

Lo ultimo, explquenlo como para tontos jajajaj, asi puedo entender porque recien estoy empezando :). Desde ya gracias
  #2 (permalink)  
Antiguo 26/03/2011, 07:38
Avatar de sivadmp  
Fecha de Ingreso: febrero-2011
Ubicación: La Paz - Bolivia
Mensajes: 293
Antigüedad: 13 años, 2 meses
Puntos: 20
Respuesta: Uso de Derby en codigo de NETBeans

Código java:
Ver original
  1. no importa la base de datos que vas a utilizar, solo tienes que utilizar JDBC para conectarte  y hacer transacciones a la base de datos
  2.  
  3. OJO. para cada motor de base de datos necesitas tener su drive para poder conectarte
  4.  
  5. la conexión mediante JDBC con PostgreSQL se lo realiza de esta forma
  6.  
  7. try
  8.     {
  9.        // Conexion con bd
  10.        Class.forName("org.postgresql.Driver");
  11.        Connection conexion = DriverManager.getConnection("jdbc:postgresql://localhost/prueba", "usuario", "password");
  12.        if (!conexion.isClosed())
  13.        {
  14.           // La consulta
  15.           Statement st = conexion.createStatement();
  16.           ResultSet rs = st.executeQuery("select * from usuarios" );
  17.      
  18.           // Ponemos los resultados en un table de html
  19.           while (rs.next())
  20.           {
  21.              System.out.println(rs.getObject("id"));
  22.              System.out.println(rs.getObject("nombre"));
  23.           }
  24.          
  25.           // cierre de la conexion
  26.           conexion.close();
  27.        }
  28.        else
  29.           // Error en la conexion
  30.           out.println("fallo");
  31.     }
  32.     catch (Exception e)
  33.     {
  34.         e.printStackTrace();
  35.     }


para Derby tienes que utilizar

Código java:
Ver original
  1. Class.forName("org.apache.derby.jdbc.ClientDriver")
  2.  
  3.  Connection conexion = DriverManager.getConnection("jdbc:derby://localhost:1527/prueba;create=true;user=sivad;password=1234");


te recomiendo una aplicación hecha en Java "Squirrel Client", que nos permite visualizar/manejar fácilmente la estructura de una base de datos JDBC existen, con esta herramienta puedes averiguar cual es la directiva "Class.forName" para conectarte con el JDBC

http://www.squirrelsql.org/

saludos
__________________
agradecer no cuesta nada
Entre más información proporciones más fácil será ayudarte, y asi evitar adivinar el problema con el que cuentas.
  #3 (permalink)  
Antiguo 26/03/2011, 12:37
 
Fecha de Ingreso: marzo-2011
Ubicación: Mendoza
Mensajes: 15
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Uso de Derby en codigo de NETBeans

Muchas gracias, ahora el tema es el sigueinte. Donde vos haces la consulta, yo tengo varias alternativas. Yo tengo que poder saber discriminar si los datos que vienen son para hacer un INSERT o un UPDATE, no se como hacerlo.

La otra duda es, vos ahi mostras por pantalla un "id" y el "nombre", como tengo que hacer para que sea generico?? Yo voy a buscar distintos objetos a la base de datos y en base a las columnas de cada tabla, van a ser los atributos que voy a recuperar..

Ademas, en que carpeta tengo que poner el "Squirrel Client" y como lo ejecuto??

Gracias!!

Última edición por luchos297; 26/03/2011 a las 12:50
  #4 (permalink)  
Antiguo 28/03/2011, 12:48
Avatar de sivadmp  
Fecha de Ingreso: febrero-2011
Ubicación: La Paz - Bolivia
Mensajes: 293
Antigüedad: 13 años, 2 meses
Puntos: 20
Respuesta: Uso de Derby en codigo de NETBeans

primeramente squirrel es una aplicacion externa, en si es un cliente SQL con el cual vamos a porder hacer consultas a una determinada BD

la ventaja de este programa, es que soporta todas las base de datos existentes

ahora con respecto a tu problema para realizar actualizaciones (INSERT, UPDATE, DELETE) tenemos que utilizar executeUpdate en vez de executeQuery y ya no existira ningun while

ahora para mostrar cualquier tipo de datos, tienes que utilizar la clase ResultSetMetaData, que nos permite recorrer los registros por columnas

Código java:
Ver original
  1. ResultSet rs = sta.executeQuery(query);
  2. ResultSetMetaData rsmd = rs.getMetaData();
  3.  
  4. while (rs.next()) {
  5.     for (int i = 1; i <= rsmd.getColumnCount(); ++i) {
  6.                 System.out.print("Columna "+rsmd.getColumnLabel(i + 1));
  7.                System.out.print("Objeto "+rs.getObject(i));
  8.         }
  9. }


si te parecio bien la ayuda, regalame un KaRmA..
__________________
agradecer no cuesta nada
Entre más información proporciones más fácil será ayudarte, y asi evitar adivinar el problema con el que cuentas.

Etiquetas: netbeans
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 04:40.