Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-06-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Red face error de seleccion

Hola amigos del foro, estoy teniendo inconvenientes cuando hago un procedimiento almacenado. El tema es que hago una seleccion de una tabla, y guardo el campo seleccionado dentro de la variable correspondiente. Cuando empieza a recorrer los datos, comienza desde el ultimo al primero, y al primero me lo toma como valor nulo y se me viene todo abajo. Aqui les pongo el codigo.

Código SQL [-]
  for select rel_concepto_impuesto.impuesto, nombre
      from  rel_concepto_impuesto join impuesto
      on rel_concepto_impuesto.impuesto= impuesto.id_impuesto
      where rel_concepto_impuesto.concepto =:num_concepto
      into :impuesto_concepto, :impu do
          if(impuesto_concepto is null)then
          begin
            exception except_genera_comprobante;
          end

Les agradezco si me pueden dar una mano. Gracias!!!!

Última edición por dec fecha: 29-06-2007 a las 16:31:39.
Responder Con Cita
  #2  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
A ver, pues no entiendo, pues según veo, el mismo procedimiento indica que si uno de esos valores es nulo, debe parar de hacer cosas.

Mejor dicho, es muy confuso el hecho de que no quieras que pare todo cuando tienes un:
Código SQL [-]
exception except_genera_comprobante;
para que salga cuando (impuesto_concepto is null). Si quieres que no pare solo quita esa linea ¿No?, a lo mejor no entendí muy bien la cuestión.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 29-06-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
gracias por tu respuesta

Gracias por la respuesta, justamente corto porque el valor de la seleccion es nulo.
En la tabla yo tengo 3 registros que son los que me tiene que devolver, cuando yo hago el debug me barre los tres registros de atras hacia adelante y cuando llega al primero me retorna null. por eso puse la execpion para contolar por qu salta.
Desde ya muchas gracias
Responder Con Cita
  #4  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Osea que con cambiar el orden de tu selec te quedaría bien?, si esa respuesta es positiva, pues ordena la consulta por el campo de tu conveniencia, asi, por ejemplo:
En el siguiente caso ordeno la consulta por rel_concepto_impuesto.impuesto descendentemente.
Código SQL [-]
for select rel_concepto_impuesto.impuesto, nombre
      from  rel_concepto_impuesto join impuesto
      on rel_concepto_impuesto.impuesto= impuesto.id_impuesto
      where rel_concepto_impuesto.concepto =:num_concepto
      order by rel_concepto_impuesto.impuesto dec
      into :impuesto_concepto, :impu do
          if(impuesto_concepto is null)then
          begin
            exception except_genera_comprobante;
          end

Espero haber entendido esta ves, si no pues ya veremos .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 29-06-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
no nos entendimos, je

amigo mio, no nos entendimos. no es una cuestion de orden sino de que no me obtiene los datos, en realidad me obtiene los 3 registros pero en el ultimo registro que carga en las variables impuesto_concepto y impu, los valores son nulos, cuando deberian tener valores definidos.
Ese es todo mi problema, me barre los 3 registros y mas alla de que ordene ascendente o descendente, al ultimo registro que levanta me pasa los valores a nulo.
Gracias, un abrazo!
Responder Con Cita
  #6  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, , no entendía, creo que sería de ayuda si nos muestras las dos tablas con sus datos, tal vez asi, podamos sacar alguna conclusión. Por ejemplo, de momento no me queda claro la tabla a la que pertenece el campo nombre...
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 29-06-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Cool aqui va

Amigo, son 3 tablas las involucradas.
Concepto
Impuesto y
Rel_usuarrio_concepto.

Representan una relacion n a n.
lo importante de concepto es el id_concepto, que en el procedimiento lo paso como parametro (:num_concepto)
Entonces con ese dato, lo que hago es buscar en la tabla rel_usuario_concepto todos los registros cuyo campo que surge de la relacion con concepto sean igual al num_concepto. En el procedimineto a esos impuestos, los guardo en la variable :impuesto_concepto. Como me hace falta el nombre del impuesto para futuras operaciones, tambien lo selecciono y de ahi sale el join.
Espero haberme explicado bien.
Con respecto a los datos, particularmente, en la tabla conceptos deje el ergistro cuyo id es 1, en la relacion concepto impuesto tengo 3 registros, los 3 tienen en su campo concepto el valor 1, por lo tanto tiene que estar en la seleccion, pero cuando los selecciona, al ultimo registo que barre de la relacion lo pone en null.

Ya probe de varias formas, es mas, probe haciendo una seleccion simple y me da el mismo problema, no asi con otros preocedimietnos de similar estructura
Gracias!!!
Responder Con Cita
  #8  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Personalmente veo que esta extraño el asunto y que asi a simple vista no encuentre el "Porque" del asunto, aunque puede haber otro compañero que si se pille el problema facilmente, en todo caso, prueba a usar la siguiente consulta y nos cuentas, como te va:

Código SQL [-]
for   select rel_concepto_impuesto.impuesto, impuesto.nombre
      from  rel_concepto_impuesto join impuesto
      on ((rel_concepto_impuesto.impuesto = impuesto.id_impuesto)
      and (rel_concepto_impuesto.concepto = :num_concepto))
      into :impuesto_concepto, :impu do
          if(impuesto_concepto is null)then
          begin
            exception except_genera_comprobante;
          end
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 29-06-2007
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
ja, no funciona

amigo, gracias nuevamente, gracias. Probé con el codigo que me pasaste y no, hace el mismo trabajo.
Saludos, y mucha graias, por mi parte seguiré renegando hasta ver que pasa.
Chau chau
Responder Con Cita
Respuesta



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
seleccion en un stringgrid Max_E. Varios 2 07-11-2006 15:54:57
seleccion de linea sara Impresión 0 13-06-2005 10:56:02
Seleccion en tTreeView Investment OOP 2 02-07-2004 09:36:32
error en asignacion de campos en un dbgrid con seleccion multiple ElSanto24 Varios 1 05-01-2004 17:12:27
una seleccion YolandaM Impresión 2 04-10-2003 20:11:59


La franja horaria es GMT +2. Ahora son las 14:47:01.


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