SlideShare una empresa de Scribd logo
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

PPTX
PreparedStatament
PPTX
Lenguaje Transact sql
PDF
Equipo 1
PPTX
PPTX
Análisis y diseño ii sql php
PPTX
Transact sql
PPTX
Preparestatement
PDF
Textos sqli_mssql
PreparedStatament
Lenguaje Transact sql
Equipo 1
Análisis y diseño ii sql php
Transact sql
Preparestatement
Textos sqli_mssql

La actualidad más candente (13)

PPTX
Sql ii
PPTX
Lenguaje Transact SQL
PPT
Conexion Entre Php Y Mysqul
PPTX
TRANSACT-SQL
PPTX
Resultset
PPTX
Base de datos - Clase 4
PDF
Taller programación web ajax con jquery
PDF
Bases de datos
PDF
Ejercicio generalización
DOCX
Creacion y utilizacion de consultas simples php
PDF
Tutorial mysql
PDF
80 Php. Campos Y Conexiones
Sql ii
Lenguaje Transact SQL
Conexion Entre Php Y Mysqul
TRANSACT-SQL
Resultset
Base de datos - Clase 4
Taller programación web ajax con jquery
Bases de datos
Ejercicio generalización
Creacion y utilizacion de consultas simples php
Tutorial mysql
80 Php. Campos Y Conexiones
Publicidad

Similar a Cursor Adapter (20)

PPTX
bd.net.pptx
PPTX
Diapositivas de acceso a datos ado.net
PDF
Acceso a datos con ado.net en visual basic
PDF
Acceso a datos con ado.net en visual basic
PPTX
ADO.NET
PDF
Guia herramientas de bd
PPTX
Curso migración de aplicaciones nsl nk90 a tmp
DOCX
Guía herramientas de BD PHP
PPTX
Patrones de arquitectura Software(Capa de Datos)
DOCX
CREACION DE DLL Y USO (Ejemplo desarrollado)
PPTX
Clase conexion java - Analisis de Sistemas
PPT
Java y Bases Datos
PPT
Bases Datos en java
PPT
Java y Bases de Datos
PPTX
Portabilidad y transportabilidad
PDF
estructura_de_un_programa_en_lenguaje_ensamblador
PPTX
Java con Base de Datos
DOCX
Base de datos moviles
bd.net.pptx
Diapositivas de acceso a datos ado.net
Acceso a datos con ado.net en visual basic
Acceso a datos con ado.net en visual basic
ADO.NET
Guia herramientas de bd
Curso migración de aplicaciones nsl nk90 a tmp
Guía herramientas de BD PHP
Patrones de arquitectura Software(Capa de Datos)
CREACION DE DLL Y USO (Ejemplo desarrollado)
Clase conexion java - Analisis de Sistemas
Java y Bases Datos
Bases Datos en java
Java y Bases de Datos
Portabilidad y transportabilidad
estructura_de_un_programa_en_lenguaje_ensamblador
Java con Base de Datos
Base de datos moviles
Publicidad

Último (20)

PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Maste clas de estructura metálica y arquitectura
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
clase auditoria informatica 2025.........
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
SAP Transportation Management para LSP, TM140 Col18
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Estrategia de apoyo tecnología miguel angel solis
Power Point Nicolás Carrasco (disertación Roblox).pptx
Presentación PASANTIAS AuditorioOO..pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Maste clas de estructura metálica y arquitectura
REDES INFORMATICAS REDES INFORMATICAS.pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Estrategia de apoyo tecnología grado 9-3
Calidad desde el Docente y la mejora continua .pdf
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
clase auditoria informatica 2025.........
Propuesta BKP servidores con Acronis1.pptx
introduccion a las_web en el 2025_mejoras.ppt
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Influencia-del-uso-de-redes-sociales.pdf
SAP Transportation Management para LSP, TM140 Col18

Cursor Adapter

  • 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