SlideShare una empresa de Scribd logo
1 de 8
CURSOR ADAPTER
El CursorAdapter no es más que una nueva clase, pero muy importante, ya que con ella se puede gestionar todo acceso a datos, tanto local como remoto, el cursorAdapter soporta diferentes orígenes de datos, los cuales pueden ser aplicados dinámicamente y la compartición de dichos orígenes de datos solamente se encontrará limitada por la propia tecnología.  El cursor adapter soporta los siguientes orígenes de datos: Nativo (Visual Fox Pro) Open Data Connectivity (ODBC) ActiveX Data Object (ADO) Extensible Makup Lenguaje (XML)
Debemos entender, a esta nueva clase como un punto de entrada, ya que como todo tiene sus deficiencias, pero por ello, no deja de ser noble en su propio concepto y mantener su grandeza para el desarrollo. Si sabemos darle este enfoque, se puede obtener unos resultados majestuosos en la capa de acceso a datos, ya sea para aplicaciones cliente/servidor, posibilidades de movernos en multitud de bases de datos, etc. Y todo esto interrelacionado; con que a partir de esta versión podemos crear clases partiendo del contenedor DataEnvironment, se pueden crear verdaderos sistemas, con versatilidad, robustez y potencia en lo que a la capa de acceso a datos se refiere.  Otra de las grandes ventajas que ofrece el CursorAdapter es que mantiene la interacción con los comandos TableUpdate y TableRevert, esto es realmente muy bueno, ya que no perdemos la generosidad y dimensión de dichos comandos, sobre todo cuando queremos dar robustez a la integridad de nuestros datos e independientemente del origen de datos.
Partiendo de la creación de la base de datos lo cual llevará todas las tablas de nuestro sistema, la idea principalmente es heredar de la clase Cursor Adapter, extender su funcionalidad y hacerla genérica, vamos a crear un objeto llamado caBase que implemente esta funcionalidad. La potencia de Cursor Adapter nos permite trabajar con cualquier tipo de conexión (remota, nativa, XML), en este ejemplo nos vamos a concentrar en trabajar con bases de datos remotas, particularmente con mySQL, aunque el ejemplo sirve perfectamente para cualquiera: Ejemplo práctico  de cursor adapter en visual fox pro
Código fuente de la clase caBase   *[ caBase.prg  -  R. Fynn Set2007 *[ Clase base de CursorAdapter *[ Las clases child heredan el tipo de conexión y los datos de la misma DEFINE CLASS caBase AS CursorAdapter *-- más adelante vemos de donde obtenemos el string de conexión en esta variable Tag = cStrCnx Height = 22 Width = 23 Alias = "" BufferModeOverride = 5 DataSourceType = "ODBC" Flags = 0 BreakOnError = .T. Name = "myschema"
PROCEDURE Init() *** Setup code: DO NOT REMOVE local llReturn do case case not pemstatus(This, '__VFPSetup', 5) This.AddProperty('__VFPSetup', 0) case This.__VFPSetup = 1 This.__VFPSetup = 2 case This.__VFPSetup = 2 This.__VFPSetup = 0 return endcase set multilocks on llReturn = dodefault() *** End of Setup code: DO NOT REMOVE *** Select connection code: DO NOT REMOVE ***<DataSource> This.DataSource = sqlstringconnect(cStrCnx) ***</DataSource> *** End of Select connection code: DO NOT REMOVE
*** Setup code: DO NOT REMOVE if This.__VFPSetup = 1 This.__VFPSetup = 2 endif return llReturn *** End of Setup code: DO NOT REMOVE ENDPROC PROCEDURE AutoOpen *** Setup code: DO NOT REMOVE if not pemstatus(This, '__VFPSetup', 5) This.AddProperty('__VFPSetup', 1) This.Init() endif *** End of Setup code: DO NOT REMOVE ENDPROC
PROCEDURE Error LPARAMETERS nError, cMethod, nLine AERROR(z) MESSAGEBOX(&quot;Error en la clase caBase&quot; + CHR(13) + ; TRANSFORM(nError) + CHR(13) + ; cMethod + CHR(13) + ; TRANSFORM(nLine) + CHR(13) + ; z[2] ) ENDPROC ENDDEFINE * *-- EndDefine: camyschema

Más contenido relacionado

La actualidad más candente

La actualidad más candente (13)

Sql ii
Sql iiSql ii
Sql ii
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Conexion Entre Php Y Mysqul
Conexion Entre Php Y MysqulConexion Entre Php Y Mysqul
Conexion Entre Php Y Mysqul
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Resultset
ResultsetResultset
Resultset
 
Resultset
ResultsetResultset
Resultset
 
Base de datos - Clase 4
Base de datos - Clase 4Base de datos - Clase 4
Base de datos - Clase 4
 
Taller programación web ajax con jquery
Taller programación web  ajax con jqueryTaller programación web  ajax con jquery
Taller programación web ajax con jquery
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Ejercicio generalización
Ejercicio generalizaciónEjercicio generalización
Ejercicio generalización
 
Creacion y utilizacion de consultas simples php
Creacion y utilizacion de consultas simples phpCreacion y utilizacion de consultas simples php
Creacion y utilizacion de consultas simples php
 
Tutorial mysql
Tutorial mysqlTutorial mysql
Tutorial mysql
 
80 Php. Campos Y Conexiones
80 Php. Campos Y Conexiones80 Php. Campos Y Conexiones
80 Php. Campos Y Conexiones
 

Similar a Cursor Adapter: gestión de datos local y remoto con Visual FoxPro

Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netTAPIA SILVA EVELINA
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicgerardd98
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAlfredo Joya
 
Curso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpCurso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpEdgar Solis
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)Darwin Durand
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasJose Bustamante Romero
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de DatosRonny Parra
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en javajent46
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
estructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorestructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorGloria Azúa
 

Similar a Cursor Adapter: gestión de datos local y remoto con Visual FoxPro (20)

bd.net.pptx
bd.net.pptxbd.net.pptx
bd.net.pptx
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basicAcceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Curso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpCurso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmp
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Jdbc
JdbcJdbc
Jdbc
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de Sistemas
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
estructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensambladorestructura_de_un_programa_en_lenguaje_ensamblador
estructura_de_un_programa_en_lenguaje_ensamblador
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
Base de datos moviles
Base de datos movilesBase de datos moviles
Base de datos moviles
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (13)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Cursor Adapter: gestión de datos local y remoto con Visual FoxPro

  • 2. El CursorAdapter no es más que una nueva clase, pero muy importante, ya que con ella se puede gestionar todo acceso a datos, tanto local como remoto, el cursorAdapter soporta diferentes orígenes de datos, los cuales pueden ser aplicados dinámicamente y la compartición de dichos orígenes de datos solamente se encontrará limitada por la propia tecnología. El cursor adapter soporta los siguientes orígenes de datos: Nativo (Visual Fox Pro) Open Data Connectivity (ODBC) ActiveX Data Object (ADO) Extensible Makup Lenguaje (XML)
  • 3. Debemos entender, a esta nueva clase como un punto de entrada, ya que como todo tiene sus deficiencias, pero por ello, no deja de ser noble en su propio concepto y mantener su grandeza para el desarrollo. Si sabemos darle este enfoque, se puede obtener unos resultados majestuosos en la capa de acceso a datos, ya sea para aplicaciones cliente/servidor, posibilidades de movernos en multitud de bases de datos, etc. Y todo esto interrelacionado; con que a partir de esta versión podemos crear clases partiendo del contenedor DataEnvironment, se pueden crear verdaderos sistemas, con versatilidad, robustez y potencia en lo que a la capa de acceso a datos se refiere. Otra de las grandes ventajas que ofrece el CursorAdapter es que mantiene la interacción con los comandos TableUpdate y TableRevert, esto es realmente muy bueno, ya que no perdemos la generosidad y dimensión de dichos comandos, sobre todo cuando queremos dar robustez a la integridad de nuestros datos e independientemente del origen de datos.
  • 4. Partiendo de la creación de la base de datos lo cual llevará todas las tablas de nuestro sistema, la idea principalmente es heredar de la clase Cursor Adapter, extender su funcionalidad y hacerla genérica, vamos a crear un objeto llamado caBase que implemente esta funcionalidad. La potencia de Cursor Adapter nos permite trabajar con cualquier tipo de conexión (remota, nativa, XML), en este ejemplo nos vamos a concentrar en trabajar con bases de datos remotas, particularmente con mySQL, aunque el ejemplo sirve perfectamente para cualquiera: Ejemplo práctico de cursor adapter en visual fox pro
  • 5. Código fuente de la clase caBase *[ caBase.prg  -  R. Fynn Set2007 *[ Clase base de CursorAdapter *[ Las clases child heredan el tipo de conexión y los datos de la misma DEFINE CLASS caBase AS CursorAdapter *-- más adelante vemos de donde obtenemos el string de conexión en esta variable Tag = cStrCnx Height = 22 Width = 23 Alias = &quot;&quot; BufferModeOverride = 5 DataSourceType = &quot;ODBC&quot; Flags = 0 BreakOnError = .T. Name = &quot;myschema&quot;
  • 6. PROCEDURE Init() *** Setup code: DO NOT REMOVE local llReturn do case case not pemstatus(This, '__VFPSetup', 5) This.AddProperty('__VFPSetup', 0) case This.__VFPSetup = 1 This.__VFPSetup = 2 case This.__VFPSetup = 2 This.__VFPSetup = 0 return endcase set multilocks on llReturn = dodefault() *** End of Setup code: DO NOT REMOVE *** Select connection code: DO NOT REMOVE ***<DataSource> This.DataSource = sqlstringconnect(cStrCnx) ***</DataSource> *** End of Select connection code: DO NOT REMOVE
  • 7. *** Setup code: DO NOT REMOVE if This.__VFPSetup = 1 This.__VFPSetup = 2 endif return llReturn *** End of Setup code: DO NOT REMOVE ENDPROC PROCEDURE AutoOpen *** Setup code: DO NOT REMOVE if not pemstatus(This, '__VFPSetup', 5) This.AddProperty('__VFPSetup', 1) This.Init() endif *** End of Setup code: DO NOT REMOVE ENDPROC
  • 8. PROCEDURE Error LPARAMETERS nError, cMethod, nLine AERROR(z) MESSAGEBOX(&quot;Error en la clase caBase&quot; + CHR(13) + ; TRANSFORM(nError) + CHR(13) + ; cMethod + CHR(13) + ; TRANSFORM(nLine) + CHR(13) + ; z[2] ) ENDPROC ENDDEFINE * *-- EndDefine: camyschema