Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - puntoBat

#1
Java / Como buscar en base de datos desde Java
23 Julio 2014, 18:09 PM
Hola buenos días, tengo un problemilla que no se como solucionar.

Estoy programando en Java(claro esta ajjaj) y en mysql, el problema es el siguiente:

Tengo una referencia(123456), la cual tengo que buscar en una tabla concreta de la base de datos, pero con el inconveniente que,

en esta tabla aparece ese numero + 789, osea 123456789.

pero solo puedo buscar por 123456, y cuando hago mi sentencia sql me pone que faltan parametros, seguramente por que no coincide con ningun numero, pero quiero que me aparezcan todos los resultados con ese prefijo.

como ago la sentencia????

esta es la que tengo


String tallasAccess = "SELECT*FROM EXISTENCIAS WHERE CODIGO='"+referencia+"'";
         
          ps = cn2.prepareStatement(tallasAccess);
          rs = ps.executeQuery();
         
          String total;
         
          while ( rs.next()) {
             
              total = rs.getString(3);
              System.out.println("referencia + tallaje: "+total);
          }

#2
no me pertenece, pero es de la empresa en la que trabajo, pero ellos no lo van a modificar, yo tengo que hacer el mio para que ellos no tengan que tocar nada, si no no tendria trabajo jajajajaj
#3
Hola buenas, Tengo un programa en java para una tienda, y quiero hacer una clase o algo (que no se por donde empezar ni como hacerlo) donde un hilo me detecte si ha habido cambios en unas concretas tablas de una base de datos.

Necesito ideas de como hacerlo, ya que no se me ocurre nada sencillo.


Yo tenia pensado leer la base de datos y almacenar los datos en mi programa y 10 minutos después volver a leer la base de datos y compararla con los que he almacenado hace 10 minutos.

pero tiene que haber algo mucho mas sencillo de hacer

es muy urgente, por favor necesito ayuda

gracias, un Saludo!!
#4
Haber chicos. gracias por contestar, pero el codigo y los links que habeis puest creo que son para conectar con mysql de esa a la que se desea.

Ese tema esta totalmente dominado. Os dejo un pseudo de como funcionaria

1:abrir la aplicacion.
2:click en boton "ENTRAR"
3:aparece por ejemplo: tu perfil de facebook, sin tener que logearte


En la programacion del boton tendria que realizar lo siguiente:

1:enviar peticiones de conexion a la url que indiquemos
2:si acepta la conexion, enviar user y pass a los campos que indica
3:que pulse el boton entrar o acceda directamene.


Tengo mirado el driver httpCliente de apache, pero no entiendo muxo el codigo de ejemplo:
http://hc.apache.org/httpcomponents-client-4.3.x/quickstart.html

aqui esta la documentacion.

http://hc.apache.org/httpcomponents-client-4.3.x/index.html
#5
Buenas tardes gentecilla,

Tengo que hacer un programilla que dándole a un botón, me dirija a una pagina web,
es un panel de control tipo phpmyadmin, por lo que también tengo que mandarle usuario y contraseña.

lo que quiero es acceder a este panel evitando poner el usuario y la contraseña, que estas las definiría en el programa.

Como puedo hace esto?

Alguien me puede dar info, tuto, código etcc..

un Saludo!!
#6
Vale ya me funciona, en el mensaje de error ponia el numero 38.

Este numero corresponde al numero de registros que tengo creados en mi base de datos, osea 38 articulos.
En algunas tablas donde tengo que sacar datos estos registros se repiten, por lo que el articulo aparece 3 veces repetido con y con el mismo id,

Solucion:

Filtrar la repeticion de los articulos o sus id´s.

Codigo:

ps= cn.prepareStatement(stockavailable);
   rs = ps.executeQuery(stockavailable);
   
   contadorTmp = 0;
   comparador = 0;
   
   while(rs.next()) {
   
   if(rs.getInt(2) != comparador) {   // es necesario comparar para que no se repitanl los id`s y con ello 3 nombres
   
   filas[contadorTmp][3]=rs.getString(6);
   
   contadorTmp++;
   comparador = rs.getInt(2); //Aquí le damos el valor del id que esta en la columna 2 de la base de datos, por lo que cuando vuelva a realizar el if sera igual que el siguiente id de la columna 2 y no dejara realizarlo, y pasara al siguiente id
   }

}


Espero que le sirva a alguien y recuerden comentar su codigo para que vosotros mismos lo podáis entender en caso de fallos y problemas
   
 
#7
Cita de: Migugami en 23 Mayo 2014, 16:06 PM
ArrayIndexOutOfBoundsException lo lanza la máquina virtual cuando se intenta acceder a un índice inexistente en un array. Si te fijas en el stacktrace, que es el rastreo de pila de tu aplicación, te mostrará la línea en donde ha ocurrido la excepción y nada más tienes que indentificar el fallo y corregirlo.

Vale he colocado un: catch(ArrayIndexOutOfBoundsException e) { JOptionPane.ShowMessageDialog(null,e) }

Ahora me salta un error que dice: java.lang.ArrayIndexOutOfBoundsException:38

Pero por lo menos ya se cargan los datos de las dos tablas de mi base de datos
Muxax gracias, pero que significaria ese error o donde puedo mirarlo
#8
por que declaras el objeto dentro del while(rs.next())  sacalo fuera y vuelve a probar
#9
Java / Re: Insertar elementos a una tabla
23 Mayo 2014, 13:55 PM
Acabo de poner una duda que tengo sobre el jTable,

http://foro.elhacker.net/java/jtable_y_regitros_de_bases_de_datos-t415178.0.html


Quizas pueda resultarte util algo.

Luego el objeto filas se lo pasas al DefaultTableModel y este al setmodel y a funcionar
#10
Java / jTable y regitros de Bases de Datos
23 Mayo 2014, 13:51 PM
ola muy buenas, tengo un problema y estoy atascado en mi codigo.

La cuestion es rellenar un jTable que tiene 5 columnas desde una base de datos, facil no!!
el problema es que tengo que cojer los datos de 3 tablas distintas y poner sus datos en distintas columnas,

Comento el codigo y os lo explico un poco

mi codigo es este:

try {
       
        ps = cn.prepareStatement(producttab);  //Conexion
        rs= ps.executeQuery(producttab);        //Resultset
   
    int numFilas = 0;
    int numColumnas = rs.getMetaData().getColumnCount(); 
               
    while(rs.next()) {
        numFilas++;
    }
   
    filas = new Object [numFilas] [numColumnas]; 
   
    rs.beforeFirst();
   
   
    int contadorTmp = 0;
   
    while (rs.next()) {
   
//aqui rellenamos el objeto fila el cual rellenara la tabla, el contador Tmp pasara por todas las filas y el siguientenumero seran las columnas de nuestro jtable el rs.String() se enecarga de sacar el dato de la columna que le indiquemos, este caso el 19 y asignarlo a la posicion de fila[][]

    filas[contadorTmp][0] = rs.getString(19);   
                                                                   
    filas[contadorTmp][2] = rs.getString(14);
                                                               
    filas[contadorTmp][4] = rs.getString(4);

    System.out.println("ref,nom,prec"+filas);
    contadorTmp++;
    }
    ps.close();
    rs.close();
   
//ahora rellenaremos la columna 1 del jTable, estos datos estan en otra tabla de nuestra base de datos, por lo que el rs o resultset hay que cambiarle la direccion sql de la tabla donde estara.   
   
    ps = cn.prepareStatement(lang);               
    rs = ps.executeQuery(lang);
   
   
    contadorTmp = 0;
   
    while(rs.next()) {
   
   
    filas[contadorTmp][1] = rs.getString(10);  //aqui esta el error
   
    contadorTmp++;
    System.out.println("nombre articulo"+filas);
    }



El error que me sale es: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 38

Gracias de antemano.
PD:Si hubiera que modificar todo el codigo no me importaria.