elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  validar si existe un registro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: validar si existe un registro  (Leído 10,460 veces)
ancestro

Desconectado Desconectado

Mensajes: 3


Ver Perfil
validar si existe un registro
« en: 26 Enero 2015, 21:51 pm »

hola buen dia, soy un novato en esto de java, recurro a este foro por que tengo un proyecto en java en donde ocupo validar si existe un registro en la tabla1(id_pedido), y si existe insertarlo en tabla2(id_ticket, id_pedido, total) y si existe avisar al usuario que no existe quisiera saber como seria la extructura de la sintaxis alguna critica constructiva por aqui? gracias.


Código
  1. public void AgregarAsociacion(int idpedido, int idticket, double total) {
  2.  
  3.  
  4. String sql= "UPDATE ticket SET id_pedido=? and ticket=? where total=?";
  5. try{
  6. ps= super.prepareStatement(sql);
  7. ps. setInt(1, idticket);
  8. ps.setInt(2, idpedido);
  9. ps.setInt(3, (int) total);
  10. ps.executeUpdate();
  11. }catch(Exception e){
  12. logger.error("error", e);
  13. logger.error("Query"+ sql);
  14. }
  15.  
  16.  
  17.  
  18. }


« Última modificación: 26 Enero 2015, 22:27 pm por Eleкtro » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: validar si existe un registro
« Respuesta #1 en: 26 Enero 2015, 22:01 pm »

Java? Algun error?
Código
  1. public void AgregarAsociacion(int idpedido, int idticket, double total) {
  2.   String sql = "UPDATE ticket SET id_pedido=? and ticket=? where total=?";
  3.   try{
  4.      PreparedStatement ps = null;
  5.      ps = super.prepareStatement(sql);
  6.      ps.setInt(1, idticket);
  7.      ps.setInt(2, idpedido);
  8.      ps.setInt(3, (int)total);
  9.      ps.executeUpdate();
  10.   }catch(Exception e){
  11.      logger.error("error", e);
  12.      logger.error("Query"+ sql);
  13.   }
  14. }


« Última modificación: 26 Enero 2015, 22:07 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
ancestro

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: validar si existe un registro
« Respuesta #2 en: 27 Enero 2015, 18:19 pm »

si fijate que estoy  tratando de hacer un metodo que verifique que exista  el id_pedido en tabla1 , cuando valide  hacer un update o insert a tabla2 con los campos (id_ticket, id_pedido, total) pero no se como implementarlo ayuda :/
« Última modificación: 27 Enero 2015, 18:27 pm por ancestro » En línea

madara1412

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: validar si existe un registro
« Respuesta #3 en: 27 Enero 2015, 19:50 pm »

para validad si existe un registro en la tabla 1 yo lo aria haci
Código
  1. public void consulta()
  2. {
  3. int Conteo=0;
  4. try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  5. con = DriverManager.getConnection(connectionUrl);
  6. stmt = con.createStatement();
  7. String sql ="select Count(id_pedido)as conteo from tabla1 where id_pedido=?";
  8.             rs= stmt.executeQuery(sql);
  9.            while(rs.next)
  10.           {
  11.             Conteo=rs.getInt("conteo");
  12.           }
  13. }catch (SQLException ex)
  14. {
  15.  
  16. }
  17. if(Conteo==0)
  18. {
  19. // no hay registros
  20. }
  21. if(Conteo>0)
  22. {
  23. // hay registros
  24. }
  25. }
  26.  
  27.  
« Última modificación: 27 Enero 2015, 19:52 pm por madara1412 » En línea

ancestro

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: validar si existe un registro
« Respuesta #4 en: 27 Enero 2015, 23:02 pm »

no hace  nada :(

tengo 2 tablas  tabla1(id_pedido,id_cliente,id_em,descripcion) y tabla2(id_ticket,id_pedido,id_cliente)

la idea aqui es("ASOCIAR ") id_pedido de taba1  con el id_pedido de tabla2

lo estoy intentando por clases tengo 1 clase en donde contiene los metodos SET y GET de id_pedido, id_ticket y total
 y tengo 1 clase en donde se pongo los metodos

es por eso que ocupo validar la exitencia del "id_pedido" en tabla1 para luego poder hacer el update o insert en la tabla2 (id_ticket, id_pedido, total


-------------------------
   public void  AsociarR(Asocacion AsoPrueba) {
      int Conteo=0;
      try{
         String sql="select Count(id_pedido)AS Conteo FROM pedido_movil where id_pedido=? ";
         super.execQuery(sql);
         
         while(super.next()){
            Conteo=super.getColInt(AsoPrueba.getIdpedido());
         }
      }catch(SQLException ex){
      }
      if(Conteo==0){
         //no hay
         JOptionPane.showMessageDialog(null, "este registro no existe");
      }
      if(Conteo>0){
         // hay registros
         
     String sql= "update ticket set id_pedido=? and ticket=? where total=";
         try{
            PreparedStatement ps= null;
            ps= super.prepareStatement(sql);
            ps.setInt(1, AsoPrueba.getIdpedido());
            ps.setInt(2, AsoPrueba.getIdticket());
            ps.setInt(3, (int) AsoPrueba.getTotal());
            ps.executeUpdate();
         }catch(SQLException ex){
            logger.error("error", ex);
            logger.error("Query"+ sql);
         }
         JOptionPane.showMessageDialog(null, "REGISTRO ASOCIADO");
      }
   }
-----------------------
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: validar si existe un registro
« Respuesta #5 en: 28 Enero 2015, 01:46 am »

Aplicando el patrón DAO, representamos las tablas como clases:

Código
  1. public class Ticket {
  2. private int id;
  3. private Request request;
  4. private double total;
  5.  
  6. public Ticket() {
  7.  
  8. }
  9. public int getId() {
  10. return id;
  11. }
  12. public void setId(int id) {
  13. this.id = id;
  14. }
  15. public Request getRequest() {
  16. return request;
  17. }
  18. public void setRequest(Request request) {
  19. this.request = request;
  20. }
  21. public double getTotal() {
  22. return total;
  23. }
  24. public void setTotal(double total) {
  25. this.total = total;
  26. }
  27. }

Código
  1. public class Request {
  2. private int id;
  3. private int state;
  4.  
  5. public Request() {
  6.  
  7. }
  8. public int getId() {
  9. return id;
  10. }
  11. public void setId(int id) {
  12. this.id = id;
  13. }
  14. public int getState() {
  15. return state;
  16. }
  17. public void setState(int state) {
  18. this.state = state;
  19. }
  20. }

Creamos un método en el DAO de Request (pedido) que busque un pedido por ID:

Código
  1. public Request find(String id) {
  2. String sql = "SELECT * FROM pedidos WHERE id_pedido = ?";
  3.  
  4. PreparedStatement preparedStatement=  null;
  5. Connection connection = null;
  6. ResultSet result = null;
  7. Request request = null;
  8. try {
  9. connection = DBHelper.getConnection();
  10. preparedStatement = connection.prepareStatement(sql);
  11. preparedStatement.setString(1,id);
  12. result = preparedStatement.executeQuery();
  13.  
  14. if(result.next()) {
  15. request = new Request();
  16. while(result.next()) {
  17. request.setId(result.getString("request_id"));
  18. request.setState(result.getInt("state"));
  19. }
  20. }
  21. logger.error("Ha ocurrido un error: "+e.getLocalizedMessage());
  22. } finally {
  23. if(connection != null)
  24. connection.close();
  25. if(preparedStatement != null)
  26. preparedStatement.close();
  27. if(result != null)
  28. result.close();
  29. }
  30. return request;
  31. }

Creamos un método que inserte un Ticket con un Request especificado:

Código
  1. public boolean insertTicket(Ticket ticket) {
  2. String SQL = "INSERT INTO tickets(ticket_id, pedido_id, total)
  3. VALUES(?,?,?)";
  4. PreparedStatement preparedStatement=  null;
  5. Connection connection = null;
  6. boolean operationState = false;
  7. try {
  8. connection = DBHelper.getConnection();
  9. preparedStatement = connection.prepareStatement(sql);
  10. preparedStatement.setInt(1,ticket.getId());
  11. preparedStatement.setInt(2,ticket.getRequest().getId());
  12. preparedStatement.setDouble(3,total);
  13. operationState = preparedStatement.executeUpdate();
  14.  
  15. logger.error("Ha ocurrido un error: "+e.getLocalizedMessage());
  16. } finally {
  17. if(connection != null)
  18. connection.close();
  19. if(preparedStatement != null)
  20. preparedStatement.close();
  21. }
  22. return operationState;
  23. }

Así o mantenemos simple y ordenado. Primero buscamos el pedido por ID. Si éste existe, creamos un nuevo objeto Ticket le asignamos un ID, un total y le asociamos un pedido (Request). Luego lo insertamos en la BD:

Código
  1. Request request = find(REQUEST_ID);
  2. if(request != null) {
  3. Ticket ticket = new Ticket();
  4. ticket.setId(1);
  5. ticket.setRequest(request);
  6. ticket.setTotal(2000);
  7. insertTicket(ticket);// o utilizar el boolean devuelto para algo...
  8. }
  9. else {
  10. // mostrarle al usuario que el pedido no existe
  11. }

Te recomiendo que uses el framework ORM Hibernate. Lee al respecto.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validar si existe check
Desarrollo Web
kakashi20 0 1,466 Último mensaje 7 Marzo 2013, 16:33 pm
por kakashi20
MOVIDO: validar si existe un registro
Programación General
Eleкtro 0 1,877 Último mensaje 26 Enero 2015, 22:28 pm
por Eleкtro
Ayuda para validar si un dato existe o no
Programación C/C++
HarleyX9000 1 1,984 Último mensaje 19 Marzo 2015, 04:57 am
por milx86
validar registro de datagrid
.NET (C#, VB.NET, ASP)
SAGA-gl 2 2,569 Último mensaje 2 Junio 2015, 03:40 am
por nolasco281
validar si un registro existe en una BD
.NET (C#, VB.NET, ASP)
gregarr 0 1,859 Último mensaje 16 Noviembre 2022, 03:11 am
por gregarr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines