Registrarse Gratis

¡Únase para Aprender y Compartir!

duda de como hacer un boton modificar/argardatos java

01/3/2017 08:30PM
hola les cuento estoy haciendo un programa para una prepaga, el programa tiene una ventana la cual es para modificar datos de un cliente, la cosa es que en esa misma ventana tengo que hacer que con el mismo botón modificar también me cargue datos que no estén en la base de datos es decir inserte también datos.
¿Sabes la respuesta?Responder
01/3/2017 09:04PM
Es un error conceptual usar un mismo botón.
El botón debe decidir si se trata de una modificación o un alta, y para ello debe comparar lo que se denomina "conjunto de datos clave".
Supongamos que dicho conjunto sea unicamente el DNI.
Si cargué mal el DNI de una persona, será imposible modificarlo, ya que la modificación será tomada como un Alta, y ya no podrás acceder al registro original, ya que dicho número de DNI erróneo no figura en ningún lado.
Saludos!
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
01/3/2017 09:09PM
es que en el programa tengo lo que se llama adherentes los cuales necesito cambiar si un adherente desea dejar la prepaga, pero como cada adherente esta en diferente base de datos con un mismo id de búsqueda.
01/3/2017 09:24PM
Bueno, sólo te estoy transmitiendo la experiencia, y a veces es difícil hacerlo.
Es como interpretar que cuando dices Base de Datos, quieres decir Tablas.
Lo normal es que haya Altas, Bajas y Modificaciones, el famoso ABM.
No es que no se pueda hacer de otra manera, pero fijate que no estás dando del problema que tienes, cómo es el flowchart de la información, o hasta donde avanzaste en el diseño.
Considerá que quizás determinaste que debía existir sólo un botón sin ningún análisis previo, sólo porque sí.
Contanos cómo determinaste que sólo debe haber uno (*).

PD: (*) Escocia, 1518.
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
01/3/2017 09:30PM
Tangos escribió:Bueno, sólo te estoy transmitiendo la experiencia, y a veces es difícil hacerlo.
Es como interpretar que cuando dices Base de Datos, quieres decir Tablas.
Lo normal es que haya Altas, Bajas y Modificaciones, el famoso ABM.
No es que no se pueda hacer de otra manera, pero fijate que no estás dando del problema que tienes, cómo es el flowchart de la información, o hasta donde avanzaste en el diseño.
Considerá que quizás determinaste que debía existir sólo un botón sin ningún análisis previo, sólo porque sí.
Contanos cómo determinaste que sólo debe haber uno (*).

PD: (*) Escocia, 1518.

el programa, costa de un menú, este menú tiene la opción de agregar nuevo cliente y sus adherentes si lo tiene,
luego tiene otra ventana que es alta y baja.
y otra ventana que seria modificar, acá es donde esta el problema, yo pongo buscar cliente, y me aparece los datos del cliente y si tiene o no adherentes, pero si yo quiero que cuando le doy modificar a dicho cliente y este quiere agregar un cliente voy a modificar, pero no me guarda los datos sin antes aver colocado algo en ellos.
01/3/2017 09:35PM
xxxminatoxxx escribió:...pero si yo quiero que cuando le doy modificar a dicho cliente y este quiere agregar un cliente voy a modificar, pero no me guarda los datos sin antes aver colocado algo en ellos.


No queda demasiado claro lo que intentás decir.
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
comentario
01/3/2017 09:52PM
Tangos escribió:
xxxminatoxxx escribió:...pero si yo quiero que cuando le doy modificar a dicho cliente y este quiere agregar un cliente voy a modificar, pero no me guarda los datos sin antes aver colocado algo en ellos.


No queda demasiado claro lo que intentás decir.

aver como me puedo explicar mejor,
yo tengo una base de datos llamada prepaga, en ella, tengo 6 tablas las cueles son adherente 1, adherente2.... hasta adherente6, cada una contiene nombre,apellido,edad. estas tablas están unidas por un campo llamado ndesocio.
en el programa, tengo un botón llamado buscar, pongo en un campo el ndesocio y me sale los datos cargados, ahora si yo quiero modificar los datos de dichas tablas pero agregar uno nuevo no me permite
02/3/2017 12:13AM
Parece un mal diseño de tablas.
En lugar de tener 6 Tablas de Adherentes, lo que permite un máximo de 6 Adherentes por Socio, se debería tener sólo 1 Tabla, con múltiples filas.
Filtrando la Tabla por Nro. de Socio se obtienen todos los registros coincidentes, y allí se puede modificar un registro, eliminarlo y dar de alta de forma normal.
Lo único que se debería usar es un índice único NroDeAdherente, para identificar cada registro de forma individual.
Saludos!
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
04/3/2017 02:22PM
amigo lo que quieres no es nada de otro mundo solamente captura los valores a enviar y manda todo al script php y hace las dos consultas de update y INSERT .. lo podes hacer con ajax o no como quieras... las querys las haces en el orden que quieras .. si no es eso no llegue a entenderte bien lo que queres hacer
04/3/2017 10:56PM
yorshdelaselva escribió:amigo lo que quieres no es nada de otro mundo solamente captura los valores a enviar y manda todo al script php y hace las dos consultas de update y INSERT .. lo podes hacer con ajax o no como quieras... las querys las haces en el orden que quieras .. si no es eso no llegue a entenderte bien lo que queres hacer

hola no es php ni javascrip es java para crear app para celular o programas de pc, en mi caso es un programa de pc.
volviendo al tema les explico un poco mejor,
con esta imagen:
http://subefotos.com/ver/?5d5bf432cfa1ac6a5c4bf5716f060ab4o.png
en la imagen ban a ver que hay 2 cuadros de color verde los cuales al darle al boton modificar me permite guardar los datos que modifique, pero no me guarda los datos que modifique en el cuadro de color rojo.
este es el codigo del boton modificar.

btnInicio.setForeground(Color.RED);
btnInicio.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 16));
btnInicio.setBounds(859, 296, 121, 29);
contentPane.add(btnInicio);

JButton button_1 = new JButton("Modificar");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
Connection conexion = DB.conectarA("C:/ultramed/ultramed.db");
Statement comando=conexion.createStatement();
int alta1 = comando.executeUpdate("update alta1 set txtap1='" + txtap1.getText() + "' , txtno1='" + txtno1.getText() + "' , txtfn1='" + txtfn1.getText() + "', con1='" + con1.getSelectedItem() + "' , txtd1='" + txtd1.getText() + "' , txtna='" +txtna.getText() + "' , txtcp='" + txtcp.getText() + "' ,txtoc='" + txtoc.getText() + "' , txtlo='" + txtlo.getText() + "' ,txtdo='" + txtdo.getText() + "' ,txtn='" + txtn.getText() + "' ,txtdp='" + txtdp.getText() + "' ,txtba='" + txtba.getText() + "' ,txttel='" + txttel.getText() + "' ,txtg='" + txtg.getText() + "' ,txtemail='" + txtemail.getText() + "',conp='" + conp.getSelectedItem() + "',txtcu='" + txtcu.getText() + "',alt1='" + alt1.getSelectedItem() + "' where txtpo="+txtpo.getText());
if (alta1==1) {
}else{
int alta2 = comando.executeUpdate("update alta2 set txtap2='" + txtap2.getText() + "', txtno2='" + txtno2.getText() + "', txtfn2='" + txtfn2 .getText() + "', com2='" + com2.getSelectedItem() + "' , txtd2='" + txtd2.getText() + "' ,alt2='" + alt2.getSelectedItem() + "' where txtpo2="+txtpo.getText());
if (alta2==1) {

int alta3 = comando.executeUpdate("update alta3 set txtap3='" + txtap3.getText() + "', txtno3='" + txtno3.getText() + "', txtfn3='" + txtfn3 .getText() + "', com3='" + com3.getSelectedItem() + "' , txtd3='" + txtd3.getText() + "' ,alt3='" + alt3.getSelectedItem() + "' where txtpo3="+txtpo.getText());
if (alta3==1) {
int alta4 = comando.executeUpdate("update alta4 set txtap4='" + txtap4.getText() + "', txtno4='" + txtno4 .getText() + "', txtfn4='" + txtfn4 .getText() + "', com4='" + com4.getSelectedItem() + "' , txtd4='" + txtd4.getText() + "' ,alt4='" + alt4.getSelectedItem() + "' where txtpo4="+txtpo.getText());
if (alta4==1) {
int alta5 = comando.executeUpdate("update alta5 set txtap5='" + txtap5.getText() + "', txtno5='" + txtno5 .getText() + "', txtfn5='" + txtfn5 .getText() + "', com5='" + com5.getSelectedItem() + "' , txtd5='" + txtd5.getText() + "' ,alt5='" + alt5.getSelectedItem() + "' where txtpo5="+txtpo.getText());
if (alta5==1) {
int alta6 = comando.executeUpdate("update alta6 set txtap6='" + txtap6.getText() + "', txtno6='" + txtno6 .getText() + "', txtfn6='" + txtfn6 .getText() + "', com6='" + com6.getSelectedItem() + "' , txtd6='" + txtd6.getText() + "' ,alt6='" + alt6.getSelectedItem() + "' where txtpo6="+txtpo.getText());
if (alta6==1) {
int alta7 = comando.executeUpdate("update alta7 set txtap7='" + txtap7.getText() + "', txtno7='" + txtno7 .getText() + "', txtfn7='" + txtfn7 .getText() + "', com7='" + com7.getSelectedItem() + "' , txtd7='" + txtd7.getText() + "' ,alt7='" + alt7.getSelectedItem() + "' where txtpo7="+txtpo.getText());
if (alta7==1) {
}
}
}
}
}
}
}JOptionPane.showMessageDialog(null,"El cliente fue modificado");

}
catch(SQLException e){
e.printStackTrace();
}
}
});
button_1.setForeground(Color.RED);
button_1.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 16));
button_1.setBounds(704, 296, 121, 29);
contentPane.add(button_1);
}
}
05/3/2017 12:13PM
No veo en el Código los INSERT correspondientes en las tablas alta1 a alta7.
Verificá que cuando hacés el INSERT en alta1 lo estés haciendo también en las demás tablas.
Saludos!
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
05/3/2017 01:50PM
hola este es el codigo de incert de alta1
Connection conexion = DB.conectarA("C:/ultramed/ultramed.db");
Statement comando=conexion.createStatement();
int alta1 = comando.executeUpdate("update alta1 set txtap1='" + txtap1.getText() + "' , txtno1='" + txtno1.getText() + "' , txtfn1='" + txtfn1.getText() + "', con1='" + con1.getSelectedItem() + "' , txtd1='" + txtd1.getText() + "' , txtna='" +txtna.getText() + "' , txtcp='" + txtcp.getText() + "' ,txtoc='" + txtoc.getText() + "' , txtlo='" + txtlo.getText() + "' ,txtdo='" + txtdo.getText() + "' ,txtn='" + txtn.getText() + "' ,txtdp='" + txtdp.getText() + "' ,txtba='" + txtba.getText() + "' ,txttel='" + txttel.getText() + "' ,txtg='" + txtg.getText() + "' ,txtemail='" + txtemail.getText() + "',conp='" + conp.getSelectedItem() + "',txtcu='" + txtcu.getText() + "',alt1='" + alt1.getSelectedItem() + "' where txtpo="+txtpo.getText());
if (alta1==1) {

asta alta2 me guarda los cambios pero despues de los demas no.
05/3/2017 09:45PM
No colocaste el código de todos los INSERT.
Tangos Site Admin Colaborador: En un momento que YoReparo lo necesitó este usuario hizo su colaboración para para el bien de todos 10.593K
¿Sabes la respuesta?Responder

Bienvenido/a!

YoReparo es la mayor comunidad sobre tecnología. Colaboramos y compartimos información para solucionar todo tipo de problemas técnicos.

Para participar solo hace falta que te registres gratis aquí

Todos los Foros