Problema Dolphin / Consulta sin filas / dato logico

Post Reply
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Problema Dolphin / Consulta sin filas / dato logico

Post by carlos vargas »

Daniel

He notado que cuando la consulta no retorna una fila, en otras palabras esta vacia, las columnas con valores logicos (tinyint ) los retorna como tipo caracter.
en mi codigo, la cuarta columna del browse es caracter, pero su valor depende del contenido de la columna oQryFeri:NACIONAL del query,
antes la tenia asi:

Code: Select all | Expand


   ADD TO oBrw DATA IIf( oQryFeri:NACIONAL, "N/D", CIUD->NOMCOR ) TITLE "Ciudad"             SIZE 054
 


funciona bien si la consulta regresa filas, pero si no entonce da un error indicando que iif necesita un valor logico como primer parametro, por eso hice un
?oQryFeri:NACIONAL, valtype(oQryFeri:NACIONAL) y si es vacia retorna "","C"

Code: Select all | Expand


   bColCiudad := {|| IIf( oQryFeri:RecCount() > 0, IIf( oQryFeri:NACIONAL, "N/D", oQryFeri:NOMCOR ), "" ) } //nueva implementacion
 
   DEFINE DIALOG oDlg NAME "DLG_FERIADOSC" OF oMainWnd ICON GetIcon() FONT oFontD

   REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

   ADD TO oBrw DATA oQryFeri:FECHA      TITLE "Fecha"              SIZE 090 CENTER PICTURE "@D"
   ADD TO oBrw DATA oQryFeri:MOTIVO     TITLE "Motivo del feriado" SIZE 270
   ADD TO oBrw DATA oQryFeri:NACIONAL   TITLE "Nacional"           SIZE 054
   ADD TO oBrw DATA bColCiudad          TITLE "Ciudad"             SIZE 054 // nueva implementacion
 


salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by Daniel Garcia-Gil »

Carlos

carlos vargas wrote:?oQryFeri:NACIONAL, valtype(oQryFeri:NACIONAL) y si es vacia retorna "","C"


deberia retornar NIL??
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by carlos vargas »

esta es la defincion de la tabla

Code: Select all | Expand


CREATE TABLE `FERIADOS` (
    `NUM_CIUD` MEDIUMINT(6) NULL DEFAULT NULL,
    `FECHA` DATE NULL DEFAULT NULL,
    `MOTIVO` CHAR(40) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
    `NACIONAL` TINYINT(1) NULL DEFAULT NULL,
    `MY_RECNO` INT(12) NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`MY_RECNO`),
    INDEX `NUM_CIUD` (`NUM_CIUD`),
    INDEX `FECHA` (`FECHA`)
)
COLLATE='latin1_spanish_ci'
ENGINE=InnoDB
 


este es una vista llamada vCATFERI que involucra a la tabla

Code: Select all | Expand


SELECT `A`.`FECHA` AS `FECHA`,`A`.`NUM_CIUD` AS `NUM_CIUD`,`A`.`MOTIVO` AS `MOTIVO`,`A`.`NACIONAL` AS `NACIONAL`,`B`.`NOMCOR` AS `NOMCOR`,`B`.`NOMBRE` AS `CIUDAD`
FROM (`FERIADOS` `A`
LEFT JOIN `CIUDADES` `B` ON((`A`.`NUM_CIUD` = `B`.`NUM_CIUD`)))
 


este es mi codigo

Code: Select all | Expand


PROCEDURE Feriados()
   PRIVATE oError
   PRIVATE oDlg, oBrw, oToolbar, oPopUp1, oBtnFilter
   PRIVATE oQryFeri, oQryCiud
   PRIVATE cFiltro, lFiltrado
   PRIVATE bColCiudad

   cFiltro   := ""
   lFiltrado := FALSE

   IF !oSesion:EsAdmin()
      cFiltro := ""
   ELSE
      cFiltro := "NUM_CIUD=%1 OR NUM_CIUD=0"
      cFiltro := StrFormat( cFiltro, Var2Str( oSesion:GetNumCiudad() ) )
   ENDIF

   TRY
      oQryCiud := oServer:Query2( "SELECT NUM_CIUD, NOMBRE FROM CIUDADES ORDER BY NOMBRE" )
      IF !Empty( cFiltro )
         oQryFeri := oServer:Query2( "SELECT * FROM vCATFERI WHERE " + cFiltro + " ORDER BY FECHA" )
      ELSE
         oQryFeri := oServer:Query2( "SELECT * FROM vCATFERI ORDER BY FECHA" )
      ENDIF
      oQryCiud:FillDbf( "TBLCIUD", "TEMP1" )
      oQryCiud:END()
   CATCH oError
      IIf( HB_IsObject( oQryCiud ), oQryCiud:END(), NIL )
      IIf( HB_IsObject( oQryFeri ), oQryFeri:END(), NIL )
      ShowError( oError )
      RETURN
   END

//---------------------VER ACA DANIEL
?oQryFeri:RecCount(), oQryFeri:NACIONAL, valtype(oQryFeri:NACIONAL)  
//si oQryFeri NO tiene filas, retorna 0, "", "C"
//si oQryFeri SI  tiene filas, retorna 18, .T., "L"
//---------------------

   bColCiudad := {|| IIf( oQryFeri:RecCount() > 0, IIf( oQryFeri:NACIONAL, "N/D", oQryFeri:NOMCOR ), "" ) }

   DEFINE DIALOG oDlg NAME "DLG_FERIADOSC" OF oMainWnd ICON GetIcon() FONT oFontD

   REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "FERI" ON DBLCLICK Feriados_Editar( FALSE ) FONT oFontD

   ADD TO oBrw DATA oQryFeri:FECHA      TITLE "Fecha"              SIZE 090 CENTER PICTURE "@D"
   ADD TO oBrw DATA oQryFeri:MOTIVO     TITLE "Motivo del feriado" SIZE 270
   ADD TO oBrw DATA oQryFeri:NACIONAL   TITLE "Nacional"           SIZE 054
   ADD TO oBrw DATA bColCiudad          TITLE "Ciudad"             SIZE 054

   WITH OBJECT oBrw
      :SetDolphin( oQryFeri, .F. )
      :MyConfig()
      :aCols[ 03 ]:SetCheck( { "BMS_CHECKON","BMS_CHECKOFF" } )
      :bKeyDown      := {|nKey| Feriados_ProcesaTecla( nKey ) }
      :lHScroll      := FALSE
      :nHeaderHeight := 36
   END

   ACTIVATE DIALOG oDlg ON INIT Feriados_Toolbar()

   TEMP1->( DBCloseArea() )

   oQryFeri:END()

RETURN
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by Daniel Garcia-Gil »

Daniel Garcia-Gil wrote:Carlos

carlos vargas wrote:?oQryFeri:NACIONAL, valtype(oQryFeri:NACIONAL) y si es vacia retorna "","C"


deberia retornar NIL??
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by carlos vargas »

Daniel

teniendo en cuenta mi poca experiencia con sql,
creo que esperaba algo como en una tabla dbf
que aun cuando esta no tenga filas, el tipo de datos de la columna deberia ser igual a como si tubiera filas.
osea DATE en mi caso.
o estoy muy equivocado?

hare una prueba con vfp y sqlexec
aunque como en ese lenguaje el resultado es una tabla, pues igual creo que retornaria DATE.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by Daniel Garcia-Gil »

Carlos

hice algunas correcciones...

puedes descargar la nueva version de TDolphin desde el GIT o directamente desde este link: https://bitbucket.org/danielgarciagil/tdolphin/get/master.zip
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by carlos vargas »

Gracias Daniel lo pruebo y te comento.

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
TecniSoftware
Posts: 236
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by TecniSoftware »

Daniel Garcia-Gil wrote:Carlos

hice algunas correcciones...

puedes descargar la nueva version de TDolphin desde el GIT o directamente desde este link: https://bitbucket.org/danielgarciagil/tdolphin/get/master.zip


Daniel

Estaba leyendo que has hecho modificaciones a tu magnifica clase pero en http://www.sitasoft.net/dolphindevel/lo ... =0&isdir=1 figura la revision 269, donde podemos tener la ultima version? en este link? https://bitbucket.org/danielgarciagil/t ... master.zip

Muchos saludos
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by carlos vargas »

Daniel, funciono sin problemas.
mil gracias.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Problema Dolphin / Consulta sin filas / dato logico

Post by Daniel Garcia-Gil »

TecniSoftware wrote:
Daniel Garcia-Gil wrote:Carlos

hice algunas correcciones...

puedes descargar la nueva version de TDolphin desde el GIT o directamente desde este link: https://bitbucket.org/danielgarciagil/tdolphin/get/master.zip


Daniel

Estaba leyendo que has hecho modificaciones a tu magnifica clase pero en http://www.sitasoft.net/dolphindevel/lo ... =0&isdir=1 figura la revision 269, donde podemos tener la ultima version? en este link? https://bitbucket.org/danielgarciagil/t ... master.zip

Muchos saludos


En ese link siempre estará la ultima versión
Drbi actualizar el blog con la información del nuevo repositirio (cambio del svn a git)
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Post Reply