Guest User

Untitled

a guest
Oct 30th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.01 KB | None | 0 0
  1. package Formularios;
  2.  
  3. private JPanel contentPane;
  4.  
  5. /**
  6. * Launch the application.
  7. */
  8.  
  9.  
  10. /**
  11. * Create the frame.
  12. */
  13. @SuppressWarnings("unchecked")
  14. public EliminarDeTabla() {
  15.  
  16. setResizable(false);
  17. setTitle("Consulta y edicion de base de datosrn");
  18. setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  19. setBounds(100, 100, 849, 469);
  20. contentPane = new JPanel();
  21. contentPane.setBackground(new Color(255, 255, 204));
  22. contentPane.setBorder(new EmptyBorder(0, 0, 0, 0));
  23. setContentPane(contentPane);
  24. contentPane.setLayout(null);
  25.  
  26. JPanel panel = new JPanel();
  27. panel.setBounds(5, 5, 527, 30);
  28. contentPane.add(panel);
  29. panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
  30.  
  31.  
  32. panel.add(secciones);
  33. secciones.addItem("Todos");
  34.  
  35.  
  36. panel.add(paises);
  37. paises.addItem("Todos");
  38.  
  39. setLocationRelativeTo(null);
  40. JButton btnNewButton = new JButton("Consulta");
  41. btnNewButton.setBounds(5, 404, 527, 23);
  42. //ejecucion del boton
  43. btnNewButton.addActionListener(new ActionListener() {
  44. public void actionPerformed(ActionEvent arg0) {
  45. ejecutaConsulta();
  46.  
  47. }
  48. });
  49. contentPane.add(btnNewButton);
  50. scrollPane.setBounds(5, 35, 527, 369);
  51.  
  52. contentPane.add(scrollPane);
  53. table.addMouseListener(new MouseAdapter() {
  54. @Override
  55. public void mouseClicked(MouseEvent arg0) {
  56. //al hacer click
  57. int seleccion = table.getSelectedRow();
  58. // txtcodigo.setText((String) modelo.getValueAt(seleccion, 4));
  59. txtCodArt.setText((String) modelo.getValueAt(seleccion, 4));
  60. txtPrecio.setText(""+ modelo.getValueAt(seleccion, 2));
  61. txtNomArt.setText((String) modelo.getValueAt(seleccion, 0));
  62.  
  63.  
  64. }
  65. });
  66.  
  67. scrollPane.setViewportView(table);
  68.  
  69. JPanel panel_1 = new JPanel();
  70. panel_1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Modificaciones", TitledBorder.CENTER, TitledBorder.TOP, null, Color.BLUE));
  71. panel_1.setBounds(542, 128, 291, 299);
  72. contentPane.add(panel_1);
  73. panel_1.setLayout(null);
  74.  
  75. JLabel lblNombreArticulos = new JLabel("Nombre Articulo");
  76. lblNombreArticulos.setBounds(10, 30, 97, 14);
  77. panel_1.add(lblNombreArticulos);
  78.  
  79.  
  80. //Modificaciones
  81.  
  82. txtNomArt = new JTextField();
  83. txtNomArt.setBounds(117, 27, 146, 20);
  84. panel_1.add(txtNomArt);
  85. txtNomArt.setColumns(10);
  86.  
  87. JLabel lblSeccion = new JLabel("Seccion");
  88. lblSeccion.setBounds(26, 67, 81, 14);
  89. panel_1.add(lblSeccion);
  90.  
  91.  
  92. SeccionesMod.setBounds(147, 64, 97, 20);
  93. panel_1.add(SeccionesMod);
  94.  
  95. JLabel lblPrecio = new JLabel("Precio");
  96. lblPrecio.setBounds(27, 106, 66, 14);
  97. panel_1.add(lblPrecio);
  98.  
  99. txtPrecio = new JTextField();
  100. txtPrecio.setColumns(10);
  101. txtPrecio.setBounds(117, 103, 146, 20);
  102. panel_1.add(txtPrecio);
  103.  
  104.  
  105. PaisMod.setBounds(147, 148, 97, 20);
  106. panel_1.add(PaisMod);
  107.  
  108. JLabel lblPais = new JLabel("Pais");
  109. lblPais.setBounds(26, 151, 81, 14);
  110. panel_1.add(lblPais);
  111.  
  112. JLabel lblCodigoArticulo = new JLabel("Codigo Articulo");
  113. lblCodigoArticulo.setBounds(10, 197, 97, 14);
  114. panel_1.add(lblCodigoArticulo);
  115.  
  116.  
  117. txtCodArt.setEditable(false);
  118. txtCodArt.setColumns(10);
  119. txtCodArt.setBounds(117, 194, 146, 20);
  120. panel_1.add(txtCodArt);
  121.  
  122. JButton btnAplicarCambios = new JButton("Aplicar Cambios");
  123. btnAplicarCambios.addActionListener(new ActionListener() {
  124. public void actionPerformed(ActionEvent arg0) {
  125.  
  126. AplicarCambios();
  127. ejecutaConsulta();
  128. }
  129.  
  130.  
  131. });
  132. btnAplicarCambios.setBounds(81, 247, 141, 23);
  133. panel_1.add(btnAplicarCambios);
  134.  
  135. JLabel lblAgregarNuevoArticulo = new JLabel("Agregar nuevo Articulo");
  136. lblAgregarNuevoArticulo.setHorizontalAlignment(SwingConstants.CENTER);
  137. lblAgregarNuevoArticulo.setBounds(537, 89, 141, 23);
  138. contentPane.add(lblAgregarNuevoArticulo);
  139.  
  140. JButton btnAbrirVentana = new JButton("Abrir Ventana");
  141. btnAbrirVentana.addActionListener(new ActionListener() {
  142. public void actionPerformed(ActionEvent arg0) {
  143. SubidaArchivos sb = new SubidaArchivos();
  144. sb.show();
  145.  
  146. }
  147. });
  148. btnAbrirVentana.setBounds(697, 89, 104, 23);
  149. contentPane.add(btnAbrirVentana);
  150.  
  151. modelo.addColumn("producto");
  152. modelo.addColumn("seccion");
  153. modelo.addColumn("precio");
  154. modelo.addColumn("pais");
  155. modelo.addColumn("CÓDIGOARTÍCULO");
  156.  
  157. //----------------Conexion BD-----------------//
  158. try {
  159. String SolucionTimeZone = "&serverTimezone=UTC"; //establece la zona horaria a UTC
  160. String SolucionErrorSSL = "?useSSL=false"; //es para que ignore la interfaz de logeo de phpmyadmin
  161. String baseDatos = "profesorado2018";
  162. miConexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+baseDatos+SolucionErrorSSL+SolucionTimeZone,"root","");
  163. Statement sentencia = miConexion.createStatement();
  164.  
  165. String consulta = "SELECT DISTINCTROW SECCIÓN FROM PRODUCTOS";
  166.  
  167. ResultSet rs = sentencia.executeQuery(consulta);
  168.  
  169.  
  170. while (rs.next()) {
  171. secciones.addItem(rs.getString(1));
  172. SeccionesMod.addItem(rs.getString(1));
  173.  
  174. }
  175. rs.close();
  176.  
  177. //-------------------Carga ComboBox Paises-------------------//
  178. String consulta2 = "SELECT DISTINCTROW PAÍSDEORIGEN FROM PRODUCTOS";
  179.  
  180. ResultSet rs2 = sentencia.executeQuery(consulta2);
  181.  
  182. while (rs2.next()) {
  183. paises.addItem(rs2.getString(1));
  184. PaisMod.addItem(rs2.getString(1));
  185. }
  186. rs2.close();
  187.  
  188. } catch (SQLException e) {
  189. JOptionPane.showMessageDialog(null, "Error al conectar con la base de datos", "Error 404", JOptionPane.ERROR_MESSAGE);
  190. // TODO: handle exception
  191. }
  192.  
  193. }
  194.  
  195.  
  196.  
  197. //metodo que ejecuta la consulta
  198. private void ejecutaConsulta() {
  199.  
  200. modelo.setRowCount(0);
  201. table.setModel(modelo);
  202. ResultSet rs = null;
  203. //reinicio del textArea
  204.  
  205. try {
  206. //guardamos en variables lo seleccionado en los combobox
  207. String seccion = secciones.getSelectedItem().toString();
  208. String pais = (String)paises.getSelectedItem();
  209.  
  210. //preparamos la consulta
  211.  
  212.  
  213. if(!seccion.equals("Todos") && pais.equals("Todos")) {
  214. enviaConsultaSeccion = miConexion.prepareStatement(consultaSeccion);
  215. enviaConsultaSeccion.setString(1, seccion);
  216. //ejecutamos la consulta
  217. rs = enviaConsultaSeccion.executeQuery();
  218.  
  219. }else if (seccion.equals("Todos") && !pais.equals("Todos")) {
  220. enviaConsultaPais = miConexion.prepareStatement(consultaPais);
  221. enviaConsultaPais.setString(1, pais);
  222. //ejecutamos la consulta
  223. rs = enviaConsultaPais.executeQuery();
  224.  
  225. }else if (!seccion.equals("Todos") && !pais.equals("Todos")) {
  226. enviaConsultaPaisySeccion = miConexion.prepareStatement(consultaPaisySeccion);
  227. enviaConsultaPaisySeccion.setString(1, seccion);
  228. enviaConsultaPaisySeccion.setString(2, pais);
  229. //ejecutamos la consulta
  230. rs = enviaConsultaPaisySeccion.executeQuery();
  231. }else {
  232. enviaConsultaTodos = miConexion.prepareStatement(consultaTodos);
  233. //ejecutamos la consulta
  234. rs = enviaConsultaTodos.executeQuery();
  235. }
  236.  
  237.  
  238.  
  239. while (rs.next()) {
  240.  
  241.  
  242. for(int i = 0;i < 5;i++) {
  243. fila[i] = rs.getObject(i+1);
  244. }
  245. modelo.addRow(fila);
  246. table.setModel(modelo);
  247.  
  248. }
  249.  
  250. rs.close();
  251. } catch (Exception e) {
  252. e.printStackTrace();
  253. }
  254.  
  255.  
  256. }
  257.  
  258.  
  259. private void AplicarCambios() {
  260. //update
  261. //instruccionSql = "UPDATE PRODUCTOS SET PRECIO = PRECIO*2 WHERE CÓDIGOARTÍCULO = 'AR77' ";
  262. //misentencia.executeUpdate(instruccionSql);
  263. //System.out.println("Se actualizo correctamente.");
  264.  
  265.  
  266. //ejecutamos la consulta
  267.  
  268. try {
  269. Statement misentencia = miConexion.createStatement();
  270. String actualizarcons = "UPDATE PRODUCTOS SET CÓDIGOARTÍCULO = '"+txtCodArt.getText()+"' , SECCIÓN = '"+SeccionesMod.getSelectedItem().toString()+"' , NOMBREARTÍCULO = '"+txtNomArt.getText()+"' ,PRECIO = '"+txtPrecio.getText()+"',PAÍSDEORIGEN = '"+PaisMod.getSelectedItem().toString()+"' WHERE CÓDIGOARTÍCULO = '"+txtCodArt.getText()+"'";
  271.  
  272.  
  273. misentencia.executeUpdate(actualizarcons);
  274. JOptionPane.showMessageDialog(null, "Se ejecuto Correctamente", "Base de datos", JOptionPane.INFORMATION_MESSAGE);
  275.  
  276. } catch (SQLException e) {
  277. JOptionPane.showMessageDialog(null, "Error al actualizar", "Error 104", JOptionPane.ERROR_MESSAGE);
  278. // TODO Auto-generated catch block
  279. e.printStackTrace();
  280. }
  281.  
  282.  
  283. }
  284.  
  285. @SuppressWarnings("rawtypes")
  286. JComboBox secciones = new JComboBox();
  287.  
  288. @SuppressWarnings("rawtypes")
  289. JComboBox paises = new JComboBox();
  290. //consulta preparada
  291.  
  292.  
  293. private PreparedStatement enviaConsultaSeccion;
  294. private PreparedStatement enviaConsultaPais;
  295. private PreparedStatement enviaConsultaPaisySeccion;
  296. private PreparedStatement enviaConsultaTodos;
  297. private final String consultaSeccion = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE SECCIÓN =?";
  298. private final String consultaPais = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE PAÍSDEORIGEN =?";
  299. private final String consultaPaisySeccion = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE SECCIÓN =? AND PAÍSDEORIGEN =?";
  300. private final String consultaTodos = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS";
  301.  
  302. private Connection miConexion;
  303. DefaultTableModel modelo = new DefaultTableModel();
  304.  
  305. private Object [] fila = new Object[5];
  306. private final JScrollPane scrollPane = new JScrollPane();
  307. private final JTable table = new JTable((TableModel) null) {
  308. public boolean isCellEditable(int row,int col) {
  309. return false;
  310. }
  311. };
  312. private JTextField txtNomArt;
  313. private JTextField txtPrecio;
  314. private JTextField txtCodArt;
  315. private JComboBox SeccionesMod = new JComboBox();
  316. private JComboBox PaisMod = new JComboBox();
Add Comment
Please, Sign In to add comment