Java - Java función guardar con clases

 
Vista:
Imágen de perfil de Carlos

Java función guardar con clases

Publicado por Carlos (4 intervenciones) el 05/12/2016 17:25:33
Estoy haciendo un proyecto en java con formularios los cuales me tienen que guardar eliminar y modificar
para esto creo
una clase que es la clase conexion
una clase distinta para cada uno de los formularios en la cual van los distintos métodos de guardar modificar y eliminar
y los formularios

pero la función guardar no me funciona no se por que

/////////////////////////////////////////////////////////////CLASE CONEXION//////////////////////////////////////////////////////////////////////
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package Conexion;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 
public class Conexion{
public PreparedStatement sql;
public ResultSet datos;
public Connection con=null;
 
public void Conectar(){
String db="jdbc:mysql://localhost:3306/aplicacion_sena";
String usuario="root";
String password="";
try
{
String controlador="com.mysql.jdbc.Driver";
System.out.println("CONEXION CON BASE DE DATOS...." +db);
Class.forName(controlador);
con=DriverManager.getConnection(db,usuario,password);
System.out.println("CONEXION EXITOSA");
}
catch(Exception ex)
{
System.out.println("Error "+ex.getMessage());
}
}
public void cerrar(){
if(con==null)
{
try
{ con.close();}
catch(Exception ex)
{ }
}
}
}

/////////////////////////////////////////////////////////////CLASE USUARIO//////////////////////////////////////////////////////////////////////
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package CLASES;
 
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
 
public class usuarios {
Conexion.Conexion conn=new Conexion.Conexion();
public PreparedStatement sql;
public ResultSet datos, rs;
Statement sent;
 
public  void Guardar_usuario (int num_usu, String nom_usu, String con1,String tip_u){
try {
conn.Conectar();
sql=conn.con.prepareStatement("INSERT INTO usuario VALUES("+num_usu+",'"+nom_usu+"','"+con1+"','"+tip_u+"');");
datos=sql.executeQuery();
sql.execute();
sql.close();
conn.cerrar();
}
catch(Exception ex)
{
System.out.println("ERROR AL GUARDAR "+ex);
}
}
public void Editar (int documento, String nom_adm, String car_adm, String ema_adm, int con_adm){
try {
conn.Conectar();
sql=conn.con.prepareStatement("update administrativo set doc_adm=?, nom_adm=?, car_adm=?, ema_adm=?, con_adm=? where doc_adm="+documento);
sql.setInt(1, documento);
sql.setString(2, nom_adm);
sql.setString(3, car_adm);
sql.setString(4, ema_adm);
sql.setInt(5, con_adm);
sql.executeUpdate();
conn.cerrar();
JOptionPane.showMessageDialog(null, "REGISTRO ACTUALIZADO EXITOSAMENTE", "ACTUALIZADO", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception ex){
System.out.println("ERROR AL ACTUALIZAR DATOS...");
}
}
public void Eliminar(int doc_adm) {
try
{
conn.Conectar();
sql=conn.con.prepareStatement("delete from administrativo where doc_adm="+doc_adm);
sql.executeUpdate();
conn.cerrar();
JOptionPane.showMessageDialog(null, "SE HA BORRADO EL REGISTRO DE MANERA EXITOSA");
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null,"ERROR AL ELIMINAR LOS DATOS");
}
}
public void Buscar (int doc_adm) {
try
{
conn.Conectar();
sql=conn.con.prepareStatement("select * from administrativo where doc_adm=?");
sql.setInt(1, doc_adm);
sql.executeQuery();
datos=sql.getResultSet();
}
catch (Exception ex)
{
System.out.println("ERROR AL BUSCAR");
}
}
}

//////////////////////////////////////////////////////////////FORM JAVA/////////////////////////////////////////////////////////////////////
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
package app_sena;
 
import CLASES.usuarios;
import javax.swing.JOptionPane;
 
public class Usuarios extends javax.swing.JFrame {
usuarios reg = new usuarios();
public int lim=4;
int numero;
String tip_u ="si";
 
public Usuarios() {
initComponents();
this.setTitle("INGRESAR Y BORRAR USUARIOS ");
this.setBounds(100,120,850,515);
this.setResizable(false);
this.setLocationRelativeTo(null);
 
op.removeAllItems();
op.addItem("...");
op.addItem("salir");
op.addItem("Empresa");
op.addItem("Secretaria");
op.addItem("Usuario");
 
tip_usu1.removeAllItems();
tip_usu1.addItem("cargo...");
tip_usu1.addItem("secretaria");
tip_usu1.addItem("coordinacion");
}
 
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {
 
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
num_usu = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
nom_usu = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jButton8 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
op = new javax.swing.JComboBox();
jLabel7 = new javax.swing.JLabel();
con1 = new javax.swing.JPasswordField();
con2 = new javax.swing.JPasswordField();
tip_usu1 = new javax.swing.JComboBox();
con2_usu = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
 
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
 
jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton1.setText("Modificar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
getContentPane().add(jButton1);
jButton1.setBounds(610, 180, 100, 30);
 
jButton2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton2.setText("Guardar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
getContentPane().add(jButton2);
jButton2.setBounds(500, 180, 100, 30);
 
num_usu.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
num_usu.addActionListener(new java.awt.event.ActionListener() {
num_usuActionPerformed(evt);
}
});
getContentPane().add(num_usu);
        num_usu.setBounds(200, 100, 160, 20);
 
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("Numero de Identidad");
getContentPane().add(jLabel4);
jLabel4.setBounds(40, 100, 160, 17);
 
        nom_usu.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
nom_usu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nom_usuActionPerformed(evt);
}
});
getContentPane().add(nom_usu);
nom_usu.setBounds(200, 130, 160, 20);
 
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel5.setText("Nombre de Usuario");
getContentPane().add(jLabel5);
jLabel5.setBounds(40, 130, 140, 17);
 
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel6.setText("Contraseña");
getContentPane().add(jLabel6);
jLabel6.setBounds(40, 160, 90, 17);
 
jButton8.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton8.setText("Limpiar");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
getContentPane().add(jButton8);
jButton8.setBounds(720, 180, 100, 30);
 
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Nombre", "CC", "cargo"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.Object.class
};
 
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane1.setViewportView(jTable1);
 
getContentPane().add(jScrollPane1);
jScrollPane1.setBounds(20, 240, 810, 230);
 
op.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
op.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
opActionPerformed(evt);
}
});
getContentPane().add(op);
op.setBounds(670, 70, 150, 20);
 
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel7.setText("Confirmar Contraseña ");
getContentPane().add(jLabel7);
jLabel7.setBounds(40, 190, 160, 17);
 
con1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
getContentPane().add(con1);
con1.setBounds(200, 160, 160, 18);
 
con2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
getContentPane().add(con2);
con2.setBounds(200, 190, 160, 20);
 
tip_usu1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
getContentPane().add(tip_usu1);
tip_usu1.setBounds(380, 100, 130, 20);
 
con2_usu.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Agregar", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 14))); // NOI18N
getContentPane().add(con2_usu);
con2_usu.setBounds(20, 50, 810, 180);
 
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel2.setAutoscrolls(true);
jLabel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Usuarios", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP, new java.awt.Font("Tahoma", 1, 18))); // NOI18N
getContentPane().add(jLabel2);
jLabel2.setBounds(10, 10, 830, 500);
 
pack();
}// </editor-fold>                        
 
private void num_usuActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
 
private void nom_usuActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
 
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(this, "Aun no Disponoble...");
}
 
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
this.MetodoLimpiar1();
}
 
private void opActionPerformed(java.awt.event.ActionEvent evt) {
this.metodoop();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.Validar();// verifico campos vacio
if  (this.isPasswordCorrect(con1.getPassword(),con2.getPassword()))
{
this.Guardar();
}
else
{
JOptionPane.showMessageDialog(this, "contraceñas no correctas");
}
}
 
public static void main(String args[]) {
 
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Usuarios.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Usuarios.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
 java.util.logging.Logger.getLogger(Usuarios.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
 java.util.logging.Logger.getLogger(Usuarios.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 }
 java.awt.EventQueue.invokeLater(new Runnable() {
 public void run() {
 new Usuarios().setVisible(true);
 }
 });
 }
// Variables declaration - do not modify                     
private javax.swing.JPasswordField con1;
private javax.swing.JPasswordField con2;
private javax.swing.JLabel con2_usu;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton8;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField nom_usu;
private javax.swing.JTextField num_usu;
private javax.swing.JComboBox op;
private javax.swing.JComboBox tip_usu1;
// End of variables declaration                   
public void MetodoLimpiar1 (){
num_usu.setText("");
nom_usu.setText("");
con1.setText("");
con1.setText("");
tip_usu1.setSelectedItem(0);
}
public void metodoop(){
if(op.getSelectedItem()=="salir")
{new Ingreso().setVisible(true);
this.dispose();
}
else if(op.getSelectedItem()=="Empresa")
{new Empresa().setVisible(true);
this.dispose();
}
else if(op.getSelectedItem()=="Secretaria")
{new Secretaria().setVisible(true);
this.dispose();
}
else if(op.getSelectedItem()=="Usuario")
{new Usuarios().setVisible(true);
this.dispose();
}}
 
public  void Validar (){
if (num_usu.getText().length()==0){
JOptionPane.showMessageDialog(null, "INGRESE DOCUMENTO DEL ADMINISTRATIVO");
num_usu.setText("");
num_usu.grabFocus();
}
if (nom_usu.getText().length()==0){
JOptionPane.showMessageDialog(null, "INGRESE NOMBRE DEL ADMINISTRATIVO");
nom_usu.setText("");
nom_usu.grabFocus();
}
if (con1.getText().length()==0){
JOptionPane.showMessageDialog(null, "INGRESE CONTRASEÑA DEL ADMINISTRATIVO");
con1.setText("");
con1.grabFocus();
}
numero = Integer.parseInt(num_usu.getText());
}
 
private boolean isPasswordCorrect(char[] con1,char[] con2) {
boolean valor = true;
int puntero = 0;
if (con1.length != con2.length){
valor = false;
}
else{
while((valor)&&(puntero < con1.length)){
if (con1[puntero] != con2[puntero]){
valor = false;
}
puntero++;
}
}
return valor;
}
public  void Guardar ()
{
this.Validar();
reg.Guardar_usuario(Integer.parseInt(num_usu.getText()), nom_usu.getText(), con1.getText(),tip_u );
JOptionPane.showMessageDialog(null, "DATOS ALMACENADOS CORRECTAMENTE", "GUARDAR", JOptionPane.INFORMATION_MESSAGE);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

La tabla de la base de datos en la que quiero guardar
Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Java función guardar con clases

Publicado por Lawliet (303 intervenciones) el 05/12/2016 17:52:56
Hola...

Serías tan amable de colocar el error, de esa manera será mas fácil brindarte una solución...

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos

Java función guardar con clases

Publicado por Carlos (4 intervenciones) el 05/12/2016 20:31:19
Al tratar de guardar información en el formulario este es el error

run:
CONEXION CON BASE DE DATOS....jdbc:mysql://localhost:3306/aplicacion_sena
CONEXION EXITOSA
ERROR AL GUARDAR java.sql.SQLException: Can not issue data manipulation statements with executeQuery().


Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Java función guardar con clases

Publicado por Lawliet (303 intervenciones) el 05/12/2016 23:13:26
Hola...

Omite esta línea...

1
datos=sql.executeQuery();

Recuerda que lo que estas realizando es un GUARDADO a base de datos por lo tanto no te devolverá ningún resultado; es decir, no te devolverá un ResultSet.

Con respecto a los demás, te recomiendo uses las buenas prácticas de Java e implementes la forma correcta de pasar parámetros a tus consultas. Te anexo un ejemplo de como sería esta forma correcta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
try {
	stmt = conn.prepareStatement("INSERT INTO usuario(USUARIONICK,USUARIOPASS,USUARIONAME,USUARIOMAIL) VALUES (?,?,?,?)");
	stmt.setString(1, nick);
	stmt.setString(2, pass);
	stmt.setString(3, name);
	stmt.setString(4, mail);
	stmt.execute();
} catch (SQLException e) {
	e.printStackTrace();
} finally {
	try {
		stmt.close();
		conn.close();
	} catch (SQLException e) {
		e.printStackTrace();
	}
}

Cada signo de interrogación de cierre es un parámetro que recibirá tu consulta, es importante mencionar que en este caso empezamos desde el número 1 y no del 0 como es tradicional en un ciclo.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar