FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Manejar datos MySql BIT (l贸gical) en FiveWin / xHarbour
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM

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

Posted: Sat Mar 14, 2009 08:15 AM

William,

Muchas gracias por la informaci贸n.

Saludos

Anser

Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM

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

Posted: Thu Apr 02, 2009 04: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 (fw): Select all Collapse
   
   ........
   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 (fw): Select all Collapse
ValType( aData[1] )

Me devuelve "C"

Y el XBRowse, falla.

Pero si creo a mano un array as铆:
Code (fw): Select all Collapse
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 (fw): Select all Collapse
   
      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
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM

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

Posted: Thu Apr 02, 2009 05: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 (fw): Select all Collapse
   Do While !oDbf:Eof()
      Aadd(aData, { oDbf:FieldGet(1), oDbf:FieldGet(2), oDbf:FieldGet(3) } )
      oDbf:Skip()
   End
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM

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

Posted: Fri Apr 03, 2009 08:24 AM

Gracias!

Ha funcionado perfectamente!
Un saludo.

:lol:

Javier,

FWH 8.04 2008
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM

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

Posted: Fri Apr 03, 2009 09: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
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM

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

Posted: Fri Apr 03, 2009 09: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 (fw): Select all Collapse
聽 聽 聽 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/
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM

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

Posted: Fri Apr 03, 2009 12:04 PM

Gacias Biel.

:)

Javier,

FWH 8.04 2008
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM

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

Posted: 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
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM

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

Posted: Thu Sep 04, 2014 02: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/
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM

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

Posted: Thu Sep 04, 2014 05: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)
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM

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

Posted: Thu Sep 04, 2014 09:28 PM
De las ayudas de MySQL
Code (fw): Select all Collapse
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 :-)
______________________________________________________________________________

Sevilla - Andaluc铆a
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM

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

Posted: 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/

Continue the discussion