Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2016
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 19
gulder Va por buen camino
Question forma de programar no se si es la correcta ?

bueno dias grupo tenia varos años sin saber nada de ustedes pero siempre los recuerdo, bueno hasta que regrese, ahora con una duda mas de procedimiento o de saber si las cosas están bien hechas o que, vamos al grano

en mi aplicación que esta hecha en java y con una bd en mysql tengo varias tablas y muchas relaciones la duda me asalta por que siempre que voy a guardar un registro en una tabla, en la cual tengo varias relaciones, antes de guardar ese registro me toca hacer varias consultas a la tabla sacando las claves primarias que hacen parte de esta relación para que el registro quede bien insertado con la relación, pero no se si esto esta bien hecho si es la forma mas correcta de hacerlo o hay una forma mas eficiente de hacerlo miren lo que hago :
Código SQL [-]
                      String sentenciaSQl="INSERT INTO PRODUCTOS (REFERENCIA,CODIGO_BARRAS,NOMBRE,PRECIO_COMPRA,PRECIO_VENTA,ID_CATEGORIA,ID_CATEGORIA_IMPUESTO,ID_UN  IDADES,STOCK_MIN,STOCK_MAX) VALUES ('" + referencia.getText() + "','" +
                            codigoBarras.getText() + "','" +
                            nombre.getText() + "','" +
                            preciocompra_ + "','" +
                            pvp_ + "','" +
                            ID_CATEGORIA( categoria.getSelectedItem().toString() ) + "','" +
                            ID_CATEGORIA_IMPUESTOS ( impuestos.getSelectedItem().toString() )+ "','" +
                            ID_UNIDADES ( unidades.getSelectedItem().toString() )+ "','" +
                            stock_min + "','" +
                            stock_max + "')";


note ce que al momento de insertar un registro en la tabla productos, hago primero tres select en los siguientes métodos ID_CATEGORIA, ID_CATEGORIA_IMPUESTOS , ID_UNIDADES , los cuales me permiten traer las claves primarias para dicha relación, la pregunta es si esa es la forma mas eficiente para hacer lo que estoy haciendo, obviamente ella funciona pero no se si es la mejor forma,

bueno espero alguna respuesta gracias de antemano gu!der....
Responder Con Cita
  #2  
Antiguo 04-04-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo como primera opción, te recomendaría que utilizaras parámetros para "montar" la sentencia SQL.
Mucha más claridad y menos número de errores.

Por otro lado, si vas a realizar muuuuchos INSERT similares (por ejemplo, en una INSERCIÓN masiva), las búsquedas de los ID's se podrían optimizar realizando previamente una consulta para tenerlos todos, en lugar de uno cada vez en el INSERT.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 05-04-2016
Avatar de gulder
gulder gulder is offline
Miembro
 
Registrado: abr 2005
Ubicación: colombia-sucre
Posts: 384
Poder: 19
gulder Va por buen camino
gracias Neftali por tu respuesta bueno la segunda parte si la entendi perfectamente pero lo de parametros no entendi podrias explicarme mas a fondo cordial saludo
Responder Con Cita
  #4  
Antiguo 05-04-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Nada, nada, estaba pensando en Delphi....
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 05-04-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
Nada, nada, estaba pensando en Delphi....
Seguramente en Java también se puede. Aquí hay un ejemplo, usando JDBC, de prepared statements y parámetros.

LineComment Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Liberar Tlist de forma correcta BDWONG Varios 3 01-11-2014 18:28:46
Forma correcta de programar contra MySQL atani123 MySQL 3 12-05-2014 20:00:42
Forma correcta de conectar a la base.. linuxtin Conexión con bases de datos 4 19-07-2012 21:30:20
validar usuarios de forma correcta hibero PHP 3 04-01-2010 16:47:04
Forma correcta de emigrar base de datos.. ronimaxh Firebird e Interbase 5 08-04-2004 00:34:38


La franja horaria es GMT +2. Ahora son las 00:03:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi