Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby anserkk » Sat Mar 14, 2009 8:15 am

William,

Muchas gracias por la información.

Saludos

Anser
User avatar
anserkk
 
Posts: 1332
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby jfafive » Thu Apr 02, 2009 4:01 pm

Hola amigos,

Veo que trabajan con ADO.
Yo estoy intentando visualizar un XBRwose pero con una conexión via ODBC.

El problema es que cuando intento mostrar el XBrowse, se me genera un error.
Por lo que he podido averiguar, puede estar relacionado con el tipo de datos del array que muestra el browse.
Me explico.

El array que contiene la información de la tabla, se crea así:

Code: Select all  Expand view
 
   ........
   oOdbc := TOdbc():New( "SQLServer", "", "" )

   oDbf := TDbOdbc():new( "SELECT * FROM tabla" , oOdbc)

   oDbf:Gotop()

   Do While !oDbf:Eof()
      Aadd(aData, oDbf:FieldGet(1) )
      oDbf:Skip()
   End
   etc etc etc .......
 


Bien,
Si comprueba el tipo de datos de los elementos de este array:
Code: Select all  Expand view
ValType( aData[1] )

Me devuelve "C"

Y el XBRowse, falla.

Pero si creo a mano un array así:
Code: Select all  Expand view

local aDatos
aDatos := {}
aDatos := { { "hola" }, { "mundo" } }
 


Al hacer la prueba con valtype, me devuelve que los datos son del tipo "A"
Y el XBrowse va bien.

Por tanto, deduzco que se trata de un problema de tipo de datos.
Lo que no sé es porqué

Code: Select all  Expand view
 
      Do While !oDbf:Eof()
          Aadd(aData, oDbf:FieldGet(1) )
      oDbf:Skip()
   End
 


Devuelve datos del tipo "C"

¿Tiene ustedes alguna idea?
:?
Javier,
FWH 8.04 2008
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby Daniel Garcia-Gil » Thu Apr 02, 2009 5:19 pm

Hola jfafive

ValType( aData[1] )

el valor contenido alli ciertamente es un "C" (char) por eso te devuelve ese valor

pero intenta crear el array para el xbrowse asi

Code: Select all  Expand view
  Do While !oDbf:Eof()
      Aadd(aData, { oDbf:FieldGet(1), oDbf:FieldGet(2), oDbf:FieldGet(3) } )
      oDbf:Skip()
   End
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby jfafive » Fri Apr 03, 2009 8:24 am

Gracias!

Ha funcionado perfectamente!
Un saludo.

:lol:
Javier,
FWH 8.04 2008
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby jfafive » Fri Apr 03, 2009 9:30 am

Hola de nuevo.

En relación al tema que están tratando.
He hecho un ejemplo de XBrowse basándome en el RecordSet, para visualizar una tabla en SQLServer.

Mi idea es hacer una gestión Cliente-Servidor.

Pero tengo la duda de:

cursorLocation := adUseClient o cambiarlo a Server
cursorType := adOpenDynamic o cambiarlo a adOpenStatic

Mi duda se basa en que los usuarios podrán realizar consultas y modificaciones de una misma tabla desde varios puesto al mismo tiempo.

Según he podido leer en el manual de SQL Server, es importante trabajar de modo que el XBrowse solo se descargue los regisros necesarios y no toda la tabla. De modo que la aplicación trabaja con "copias" en local y luego envia los cambios al servidor. De aquí mi duda con los cursorLocation y cursorType.

¿alguien me podría decir como deben ir configurados para trabajar en Cliente-Servidor? ¿o darme alguna orientación para empezar...?

Me sería muy util
Grácias.
:?
Javier,
FWH 8.04 2008
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby Biel EA6DD » Fri Apr 03, 2009 9:55 am

Para browse no te queda mas remedio que usar cursores de lado del cliente. Los de lado del servidor no implementan todos los mentodos que necesita el browse( sort, absoluteposition,...).

Para browse utilizo los siguientes parametros.
Code: Select all  Expand view

      oRs:CursorLocation   := adUseClient
      oRs:CursorType       := adOpenDynamic
      oRs:LockType         := adLockOptimistic
 


Lo de solo bajar registros necesarios, deberas optimizarlo tu, a nivel de sentencia SELECT, solo seleccionando los registros necesarios, y solo los cambpos que vas a visualizar en el browse. Olvidarse de sentencias tipo SELECT * ..., salvo que sean estrictamente necesarias.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby jfafive » Fri Apr 03, 2009 12:04 pm

Gacias Biel.

:)
Javier,
FWH 8.04 2008
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby jfafive » Fri Apr 03, 2009 12:14 pm

Hola,

Soy el de las eternas preguntas.
Espero no cansarles. Pero son por pura necesidad.

Tengo ya hecho un XBrowse con acceso RecordSet.
Desde él, puedo consultar, añadir y modificar registros de una tabla de SQL Server.

Mi duda es:
Al ejecutar dos copias de la aplicación (para emular funcionamiento en red)
¿es posible forzar un refresco general?
es decir, que modifique un registro en un cliente y los otros puestos puedan ver el cambio.

Yo pienso que poniendo un botón que vuelva a cargar la Query del RecordSet, bastaría para que cada cliente
viera los cambios en su puesto.
Lo que quiero es que el refresco, sea automático.

........ :?
Javier,
FWH 8.04 2008
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby goosfancito » Thu Sep 04, 2014 2:04 pm

Dudas...
1) al crear la tabla con tdolphin el campo del tipo BIT como se lo crea? porque pongo "bit" como tipo de dato y me salta error
2) si utilizo "logical" en vez de bit... podrían en concreto poner un ejemplo de como utilizar la tabla directamente desde el xbrowse con el checkbox? porque lei mucho pero no me sale.

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby carlos vargas » Thu Sep 04, 2014 5:14 pm

haber, en mysql, tynyint no es el tipo de dato que se usa para emular campos logicos?

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

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby xmanuel » Thu Sep 04, 2014 9:28 pm

De las ayudas de MySQL
Code: Select all  Expand view

En MySQL 5.0.3, un tipo de datos BIT está disponible para almacenar valores de un bit. (Antes de 5.0.3, MySQL interpreta BIT como TINYINT(1).) En MySQL 5.0.3, BIT lo soporta sólo tablas MyISAM. MySQL 5.0.5 extiende soporte de BIT para MEMORY, InnoDB, y BDB.
 


El tipo BIT en las tablas que lo soportan pueden almacenas numeros del 0 al 64 :wink:
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 761
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: Manejar datos MySql BIT (lógical) en FiveWin / xHarbour

Postby goosfancito » Thu Sep 04, 2014 11:13 pm

listons!
gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

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