In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Sobre ADO

Foro de Xailer profesional en español
Responder
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

Sobre ADO

Mensaje por pablogarciau »

Checando la jerarquia de clases me encuentro con que TODBCDatasource
hereda de TDBFDataSource y a su vez TODBCDataSet hereda de TDBFDataSet,
sin embargo TADODataSource no esta en esa misma linea hereditaria y no
localizo un TADODataSet
Todo esto viene a colacion porque pretendo cambiar mis conexiones
ODBCDataSource por ADODataSource y no se si esto acarreara que tenga que
hacer grandes modificaciones en todos los programas, como cambiar
tambien todos los DataSets
Alguien que me pudiera orientar al respecto ?
Gracias.
Guest

Sobre ADO

Mensaje por Guest »

Juan Pablo,
Efectivamente cuando se diseño ADO se tuvo en cuenta la posibilidad que en
el futuro cualquier usuario pudiese cambiar de motor de bases de datos
simplemente cambiando el Datasource, es decir, los Datasets han de ser
únicos, e independientes del Datasource con el que trabajen.
De este enfoque de Dataset camaleónico se excluyo todo el manejo de DBFs ya
que entendemos que iba a salir un Dataset aberrante, y que por otra parte la
forma de programar para DBFs es completamente distinta que para SQL, por lo
que es imposible que una aplicación desarrollada para DBFs se pasa a SQL sin
tocar más que el DataSource.
En definitiva los DBFs se quedan como están, la clase TDataSet pasa a ser
clase de uso final y polivalente para cualquier tipo de base de datos,
actualmente ADO, pero en el futuro habrá más. Y por último ODBC se queda
como está por compatibilidad.
Un saludo
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:[email=45b688dd@news.xailer.com...]45b688dd@news.xailer.com...[/email]
> Checando la jerarquia de clases me encuentro con que TODBCDatasource
> hereda de TDBFDataSource y a su vez TODBCDataSet hereda de TDBFDataSet,
> sin embargo TADODataSource no esta en esa misma linea hereditaria y no
> localizo un TADODataSet
> Todo esto viene a colacion porque pretendo cambiar mis conexiones
> ODBCDataSource por ADODataSource y no se si esto acarreara que tenga que
> hacer grandes modificaciones en todos los programas, como cambiar tambien
> todos los DataSets
>
> Alguien que me pudiera orientar al respecto ?
>
> Gracias.
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

Sobre ADO

Mensaje por pablogarciau »

Ignacio: Muy agradecido por tu respuesta
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

Sobre ADO

Mensaje por pablogarciau »

Intento hacer una conexion a un ADODataSource con :
WITH OBJECT oODBCds := TAdoDataSource():New( Application )
y recibo el error anexo
Alguna idea al respecto ?
***************************** Registro de errores
*****************************
Fecha: 25/01/2007
Hora: 20:55:09
Memoria libre: 592552
Area actual: 1
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.2.1 Version 1.2a
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Message not found
Operación: TAPPLICATION:INSERTCOMPONENT
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
TDATASOURCE:CREATE (125)
TADODATASOURCE:NEW (101)
VENTA4WINMAIN (188)
MAIN (14)
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Sobre ADO

Mensaje por ignacio »

Juan Pablo,
El constructor New de la clase DataSource sólo admite como parametro
opcional un formulario.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:45b97cd7$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Intento hacer una conexion a un ADODataSource con :
>
> WITH OBJECT oODBCds := TAdoDataSource():New( Application )
>
> y recibo el error anexo
>
> Alguna idea al respecto ?
>
> ***************************** Registro de errores
> *****************************
>
> Fecha: 25/01/2007
> Hora: 20:55:09
> Memoria libre: 592552
> Area actual: 1
>
> ------------------------- Información del
> compilador --------------------------
>
> Versión Xailer: Xailer 1.2.1 Version 1.2a
> Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
> Compilador C/C++: Borland C++ 5.5.1
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del
> error -----------------------
>
> Subsistema: BASE
> Código de error: 1004
> Estado: .F.
> Descripción: Message not found
> Operación: TAPPLICATION:INSERTCOMPONENT
> Argumentos:
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> TDATASOURCE:CREATE (125)
> TADODATASOURCE:NEW (101)
> VENTA4WINMAIN (188)
> MAIN (14)
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

Sobre ADO

Mensaje por pablogarciau »

Ignacio Ortiz de Zúñiga escribió:
> Juan Pablo,
>
> El constructor New de la clase DataSource sólo admite como parametro
> opcional un formulario.
>
> Un saludo
>
Sin embargo, asi:
WITH OBJECT oODBCds := TODBCDataSource():New( Application )
si funciona
según la jerarquia de clases ambas clases heredan de DataSource
???
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

Sobre ADO

Mensaje por pablogarciau »

> Juan Pablo,
>
> Efectivamente cuando se diseño ADO se tuvo en cuenta la posibilidad que en
> el futuro cualquier usuario pudiese cambiar de motor de bases de datos
> simplemente cambiando el Datasource, es decir, los Datasets han de ser
> únicos, e independientes del Datasource con el que trabajen.
>
> De este enfoque de Dataset camaleónico se excluyo todo el manejo de DBFs ya
> que entendemos que iba a salir un Dataset aberrante, y que por otra parte la
> forma de programar para DBFs es completamente distinta que para SQL, por lo
> que es imposible que una aplicación desarrollada para DBFs se pasa a SQL sin
> tocar más que el DataSource.
>
> En definitiva los DBFs se quedan como están, la clase TDataSet pasa a ser
> clase de uso final y polivalente para cualquier tipo de base de datos,
> actualmente ADO, pero en el futuro habrá más. Y por último ODBC se queda
> como está por compatibilidad.
>
> Un saludo
Ignacio, Segun tus comentarios, cambie el TODBCDataSource por un
TADODataSource y logre hacer la conexion, sin embargo recibo este error
cuando incorporo un TODBCDataSet al TADODataSource
la linea es esta :
WITH OBJECT ::oCveDataSet := TODBCDataSet():New( Self )
***************************** Registro de errores
*****************************
Fecha: 26/01/2007
Hora: 17:30:13
Memoria libre: 596512
Area actual: 1
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.2.1 Version 1.2a
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: XAILER:SetDataSource
Código de error: 0
Estado: .F.
Descripción: Incorrect DataSource type, should be
KindOf('TOdbcDataSource')
Operación:
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
TODBCDATASET:SETDATASOURCE (1061)
(b)XDATASET:XDATASET (28)
TODBCDATASET:_ODATASOURCE (0)
FORMLOGIN:FORMINITIALIZE (79)
FORMLOGIN:ONINITIALIZE (0)
FORMLOGIN:NEW (183)
VENTA4WINMAIN (207)
MAIN (14)
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Sobre ADO

Mensaje por jfgimenez »

Juan Pablo,
> Ignacio, Segun tus comentarios, cambie el TODBCDataSource por un
> TADODataSource y logre hacer la conexion, sin embargo recibo este error
> cuando incorporo un TODBCDataSet al TADODataSource
TODBCDataSet sólo se puede usar con TODBCDataSource.
Para TADODataSource debes usar TSQLTable y/o TSQLQuery. De hecho, la idea
que te comentaba Ignacio es conseguir que las mismas clases TSQLTable y
TSQLQuery se puedan usar con ADO y con futuros 'datasources' de motores SQL
(p.ej. SQLite, MySQL, etc.). De esta forma, se podrá cambiar de motor con
sólo cambiar el datasource correspondiente, y no habrá que tocar para nada
los datasets.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder