FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema Dolphin / Consulta sin filas / dato logico
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Problema Dolphin / Consulta sin filas / dato logico
Posted: Thu Nov 07, 2013 09: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 (fw): Select all Collapse
   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 (fw): Select all Collapse
   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)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Fri Nov 08, 2013 05:43 PM
Carlos

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


deberia retornar NIL??
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Fri Nov 08, 2013 06:44 PM
esta es la defincion de la tabla
Code (fw): Select all Collapse
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 (fw): Select all Collapse
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 (fw): Select all Collapse
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)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Fri Nov 08, 2013 07:18 PM
Daniel Garcia-Gil wrote:Carlos

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


deberia retornar NIL??
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Fri Nov 08, 2013 07: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)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Sat Nov 09, 2013 02: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
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Sat Nov 09, 2013 03:45 PM

Gracias Daniel lo pruebo y te comento.

salu2

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Mon Nov 11, 2013 03: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
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Mon Nov 11, 2013 04:08 PM

Daniel, funciono sin problemas.
mil gracias.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Problema Dolphin / Consulta sin filas / dato logico
Posted: Mon Nov 11, 2013 04: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)

Continue the discussion