AYUDA CON TSBROWSE Y ADO

Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Maesto Manuel Mercado,

Necesito tu generosa ayuda.

En la versión 8 de tu TSBrowse incluíste método ::SetAdo() pero lo desactivaste y hay dos métodos no definidos: AdoSkyp y AdoGenFldBlk. Ya completaste ese código ? Podrías, por favor indicarme como completarlo ?

Necesito urgente acceder a una base MYSQL bastante grande y si lo hago vía arrays se vuelve super lento. Creo que es mucho más rápido si se accesa y muestra directamente la base a través de ADO evitando pasar por arrays o por una base temporal.

Millón de gracias por tu ayuda.

Son las 3:00 de la mañana del Viernes Santo. Imagínate si estoy colgado por este proceso que en vez de rezar estoy trabajando :?

Maestro Antonio,

Alguna sugerencia ? Tengo toda la aplicación con TSBrowse, por eso no puedo pasarme a XBrowse (Y la verdad es que aún no le he metido el diente). Realmente se gana velocidad si se evita el array o la base temporal ?

Saludos,

Carlos Gallego
Mi email es: cgallegoa@mastersoft3000.com
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Antonio Linares »

Carlos,

A ver si Manuel puede ayudarnos en esto.

Tambien Nageswararao es un gran experto en browses y ADO.

Siento no poder serte de más ayuda, de momento.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: AYUDA CON TSBROWSE Y ADO

Post by mmercado »

Cgallegoa wrote:En la versión 8 de tu TSBrowse incluíste método ::SetAdo() pero lo desactivaste y hay dos métodos no definidos: AdoSkyp y AdoGenFldBlk. Ya completaste ese código ? Podrías, por favor indicarme como completarlo ?
Hola Carlos:

Aunque ya funciona, todavía no lo tengo suficientemente probado. De cualquier forma te estoy enviando a tu correo TSBrowse en su estado actual, espero con tu ayuda poder avanzar en las pruebas.

Un abrazo.

Manuel Mercado.
manuelmercado at prodigy dot net dot mx
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Mastro Manuel recibí la clase. Muchas gracias. Se te olvidó enviarme el archivo TSCOLUMN.PRG. Miestras tanto usaré el de una versión anterior.

En efecto me funcionó con ADO.

Tengo dos observaciones:

1. Al cerrar la aplicación genera error "Destructors disabled! Destructor of class ''TOLEAUTO" can't be executed". Creo que se puede corregir si en el Method Destroy() se agrega lo siguiente:

Code: Select all

...
   if ValType(::oRSet) == "O"
      ::oRSet := NIL
   endif

   ::hWnd = 0

Return Nil
 
2.- Genera error al trabajar con ADS. En el Method SetDbf() tienes una cadena para la ejecución de un macro:

Code: Select all

   If "ADS"$( ::cAlias )->( RddName() )
      cAdsKeyNo    := "{|n,Self|If(n==Nil,Round(" + cAlias + "->(ADSGetRelKeyPos()) *  Self:nLen , 0 ), " + ;
                              cAlias + "->( ADSSetRelKeyPos( n / Self:nLen ) ) ) }"

      cAdsKeyCount := "{|cTag| " + cAlias + "->( ADSKeyCount(cTag,, 1 ) ) }"

      Default ::bKeyNo    := &(cAdsKeyNo) , ;
                  ::bKeyCount := &cAdsKeyCount, ;
                  ::bLogicLen := &cAdsKeyCount
 

Al ejecutarse el macro en "Default ::bKeyNo := &(cAdsKeyNo) , ;" genera error pues en la cadena de texto para el macro "cAdsKeyNo := "{|n,Self|If(n==Nil,Round(.......}" Self no está definido, por lo tanto Self:nLen no existe. Cómo puedo solucionarlo ?

Nuevamente millón de gracias por tu ayuda y saludos,

Carlos Gallego
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Maestro Antonio gracias por tu sugerencia.

Me gustaría saber tu opinión: Qué es más conveniente en términos de velocidad al acceder a una gran base de datos MYSQL:

- Directamente Con ADO-Recordset
- Pasándola a un Array
- Pasándola a una DBF temporal

ó, es irrelevante la diferencia de velocidad. Qué opinas ?

Saludos,

Carlos Gallego
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Maestro Manuel,

Analizando código en el Method SetDbf(), cuando evalúas el macro con &(cAdsKeyNo) en ninguna parte se pasa el parámetro "Self" al bloque de código. Qué sucedería si se accesa directamente a ::nLen, en cuyo caso la cadena quedaría así:

Code: Select all

      cAdsKeyNo    := "{|n|If(n==Nil,Round(" + cAlias + "->(ADSGetRelKeyPos()) * " + Str(::nLen) + ", 0 ), " + ;
                         cAlias + "->( ADSSetRelKeyPos( n / " + Str(::nLen) + " ) ) ) }"
 
Afectaría esto en algo a la visualización del Browse o del VScroll, o en alguna otra parte ?

Es vital que me funcione perfecto con ADS pues es el motor que utilizo en todas mis aplicaciones.

Saludos,

Carlos Gallego
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Hola......... Alguna respuesta..........

Saludos,

Carlos Gallego
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Hola..............
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: AYUDA CON TSBROWSE Y ADO

Post by mmercado »

Cgallegoa wrote:Al ejecutarse el macro en "Default ::bKeyNo := &(cAdsKeyNo) , ;" genera error pues en la cadena de texto para el macro "cAdsKeyNo := "{|n,Self|If(n==Nil,Round(.......}" Self no está definido, por lo tanto Self:nLen no existe. Cómo puedo solucionarlo ?
Hola Carlos:

Por favor envíame o muéstrame el error.log para tratar de corregirlo.

Un abrazo

Manuel Mercado
manuelmercado at prodigy dot net dot mx
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by wmormar »

Carlos,

La velocidad de acceso es mucho mas rápida haciendola sobre un recordset, pues si la cargas a un array, tendrias que hacer un barrido y lo mismo sería si lo haces en una DBF temporal.

Saludos
William, Morales
Saludos

méxico.sureste
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Re: AYUDA CON TSBROWSE Y ADO

Post by EASYSOFT »

Buenos días amigos del foro

Sr. Mercado toda mi aplicación esta desarrollada con tsbrowse, empece a migrarla para trabajar con MySql y ado
por esta razón le pido de favor si podría hacerme llegar la ultima versión de su clase.
de antemano le agradezco, mi correo : _@hotmail.com



Saludos

_
Saludos
_
Fwh 10.4, bcc55
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: AYUDA CON TSBROWSE Y ADO

Post by mmercado »

EASYSOFT wrote:Sr. Mercado toda mi aplicación esta desarrollada con tsbrowse, empece a migrarla para trabajar con MySql y ado
por esta razón le pido de favor si podría hacerme llegar la ultima versión de su clase.
de antemano le agradezco, mi correo : _@hotmail.com
Hola _:

Checa tu correo.

Un abrazo.

Manuel Mercado.
manuelmercado at prodigy dot net dot mx
Cgallegoa
Posts: 335
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Contact:

Re: AYUDA CON TSBROWSE Y ADO

Post by Cgallegoa »

Hola Maestro Manuel:

Yo tengo la misma la situación de _. Todas mis aplicaciones están atadas a tu maravillosa clase TSBrowse. Pero, me estoy quedando atrás en el uso de Ado y MySql. Podrías, por favor mandarme tu clase con estas prestaciones ?

Un abrazo y millón de gracias,

Carlos Gallego
cgallegoa@mastersoft3000.com
Saludos,

Carlos Gallego

*** FWH-20.07, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Re: AYUDA CON TSBROWSE Y ADO

Post by EASYSOFT »

Sr. Mercado
gracias por su generosa ayuda

en esta nueva versión no funciona UPSTABLE y ResetBarpos con Rescordsets o existe algún equivalente.

una vez mas gracias por su ayuda

Saludos

_
Saludos
_
Fwh 10.4, bcc55
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Re: AYUDA CON TSBROWSE Y ADO

Post by EASYSOFT »

Amigos del foro y Sr. Mercado

Desde que empece a utilizar la ultima version de tsbrowse y elimine la linea resetbarpos()
al mover el scroll sobre el browse se me pierden los indices no se que estoy haciendo mal
por favor necesito su ayuda
Saludos
_
Fwh 10.4, bcc55
Post Reply