Problema Dolphin / Consulta sin filas / dato logico

Problema Dolphin / Consulta sin filas / dato logico

Postby carlos vargas » Thu Nov 07, 2013 9:01 pm

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 view

   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 view

   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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby Daniel Garcia-Gil » Fri Nov 08, 2013 5:43 pm

Carlos

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


deberia retornar NIL??
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby carlos vargas » Fri Nov 08, 2013 6:44 pm

esta es la defincion de la tabla
Code: Select all  Expand view

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 view

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 view

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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby Daniel Garcia-Gil » Fri Nov 08, 2013 7:18 pm

Daniel Garcia-Gil wrote:Carlos

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


deberia retornar NIL??
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby carlos vargas » Fri Nov 08, 2013 7:47 pm

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
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby Daniel Garcia-Gil » Sat Nov 09, 2013 2:28 pm

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
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby carlos vargas » Sat Nov 09, 2013 3:45 pm

Gracias Daniel lo pruebo y te comento.

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby TecniSoftware » Mon Nov 11, 2013 3:39 pm

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
TecniSoftware
 
Posts: 233
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby carlos vargas » Mon Nov 11, 2013 4:08 pm

Daniel, funciono sin problemas.
mil gracias.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Problema Dolphin / Consulta sin filas / dato logico

Postby Daniel Garcia-Gil » Mon Nov 11, 2013 4:16 pm

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)
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 77 guests