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

Grabar archivo en BD Access

Estas en el tema de Grabar archivo en BD Access en el foro de Java en Foros del Web. Hola Mi pregunta es la siguiente...necesito grabar datos en la base de datos (eso ya lo puedo hacer), pero el problema es que me piden ...
  #1 (permalink)  
Antiguo 28/04/2006, 19:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 17
Antigüedad: 18 años, 5 meses
Puntos: 0
Grabar archivo en BD Access

Hola

Mi pregunta es la siguiente...necesito grabar datos en la base de datos (eso ya lo puedo hacer), pero el problema es que me piden que los datos del campo rut no se repitan y no lo puedo lograr, he buscado como puedo hacer eso y no encuentro nada....y si me pudieran ayudar les estare muy agradecido.

acepto cualqueir sugerencia...gracias
  #2 (permalink)  
Antiguo 29/04/2006, 10:10
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
No entiendo que es lo que necesitas... pero me parece que a nadie en su sano juicio se le ocurriría tener a Access como base de datos para cualquier aplicación y mucho menos guardar archivos ahí.
__________________
El último TipdaR
  #3 (permalink)  
Antiguo 29/04/2006, 15:16
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
En las tablas de access puedes definir un campo como indexado sin duplicados. ¿ Como haces esto en java ? imagino que conectándote a la bbdd y con una sentencia de SQL ... Lo que pasa es que en Access hay ciertas sentencias de SQL como ( ALTER TABLE ... ) que solo se pueden hacer en modo visual , desde el propio gestor de bbdd de access .

Otra forma seria la orden de crear una tabla ( por ejemplo en SQL :
CREATE TABLE lineas_de_facturas (factura_no NUMBER(6) not null CONSTRAINT pk_lineas_de_factura_factura_no PRIMARY KEY(factura_no),referencia_articulo NUMBER(6) not null CONSTRAINT pk_lineas_de_factura_referencia_articulo PRIMARY KEY(referncia_articulo) CONSTRAINT fk_lineas_de_factura_referencia_articulo FOREING KEY(referencia_articulo); )

....

Creo recordar que se usa UNIQUE para que sea un campo indexado sin duplicados
  #4 (permalink)  
Antiguo 29/04/2006, 20:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 17
Antigüedad: 18 años, 5 meses
Puntos: 0
Bueno gracias en todo caso a dogduck por la ayuda que me dio, pero ya solucione el problemita que tenia, y con respecto a la respuesta de Tipdar le queiro decir que si no es algo constructivo mejor que no opine, porque si quiere ser polemico mejor que se vaya para un reality, que aca estamos tratando de aprender......ya eso seria y gracias nuevamente...

PD: en todo caso no estaba haciendo nada tan importante para no poder ocupar access que para algo simple no necesito ocupar mysql o oracle o lo que sea......
  #5 (permalink)  
Antiguo 30/04/2006, 05:15
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Ok , me alegro de que resolvieras tu problema , pero para que los demas aprendamos ... ¿ Como lo solucionastes ?

Saludos
  #6 (permalink)  
Antiguo 30/04/2006, 06:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
El decidir si un campo puede tener duplicados o no, y la posibilidad de guardar o no ficheros en campos de una tabla dependen de la base de datos en concreto y no de Java. Java como mucho te da acceso a esas opciones a través del driver JDBC pero es en la BDD donde hay que buscar.

Respecto a BDD sencillas, a mi me gusta usar HSQLDB o alguna otra base de datos 100% Java "embebida". Independientes de plataforma y sin instalación.
  #7 (permalink)  
Antiguo 30/04/2006, 10:24
 
Fecha de Ingreso: abril-2006
Ubicación: Recife - Brasil
Mensajes: 23
Antigüedad: 18 años
Puntos: 0
Banco de dados

Se de Ola desea seguir con datos seguros bien y alcanzar algo con calidad.
- sugiero que coja el MYSQL inicialmente como multitud de datos.
- libre está un banco.
- caja fuerte.
- sigue que los conceptos consultan el SQL.

¡Espero que ha ayudado!
Abraços

Lindberg
  #8 (permalink)  
Antiguo 30/04/2006, 11:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
¿huh? ¿Google Translator?
  #9 (permalink)  
Antiguo 05/05/2006, 20:24
 
Fecha de Ingreso: noviembre-2005
Mensajes: 17
Antigüedad: 18 años, 5 meses
Puntos: 0
Mensaje Solucion que le di yo

La solucion que le di yo fue esta:

if(ev.getSource() == btnAgregar)
{
int n = JOptionPane.showConfirmDialog(null, "Se van a guardar los datos", "\n Guardar", JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.YES_OPTION)
{
try
{
String sRut = txtRut.getText();
String sNombre = txtNombre.getText();
String sDir = txtDir.getText();
stAlumnos.execute("Insert into Clientes(rut_cliente, nombre, direccion) " +
"values ('" + sRut + "','" + sNombre + "','" + sDir + "')" );
JOptionPane.showMessageDialog(null,"Se han guardado satisfactoriamente los datos", "Informacion", JOptionPane.INFORMATION_MESSAGE);
txtRut.setText("");
txtNombre.setText("");
txtDir.setText("");

}
catch(Exception ex)
{
//System.out.println("El registro ya existe");
JOptionPane.showMessageDialog(null,"El registro ya existe", "Informacion", JOptionPane.INFORMATION_MESSAGE);
}
}
}


Donde el campo rut de mi base de datos access esta como campo clave.

ya eso seria, y funciona asi que pruebenlo y si le encuentran algo malo me dicen por este medio.

gracias a todos...
  #10 (permalink)  
Antiguo 06/05/2006, 04:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
No es que no funcione, pero no veo, quiza lo haya en otro sitio, ni control de errores, ni el control de los campos de entrada, ya que si te escriben un nombre, p.e., que con tenga una comita simple, la instrucción dará un error.

Para lo ultimo quizá se podría usar un PreparedStatement, pero hay diferentes opciones.

Un saludo
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 09:09.