Visual Foxpro 10 : clase sqldata2 / Funcion psqlejecutar

Fecha Publicación:       26 de Diciembre de 2023
Fecha Modificación:       08 de Enero de 2024

Instaladores

Los instaladores se encuentran en la web  del autor: Link de descargas. https://levelvfp.com.ar/ 

→  Descarga Gratuita FULL de screenclase, sqldata, sqldata2 y therm.
→  VFP 9 IDE ECOSYSTEM (reemplaza el CD original de VFP 9 IDE y lo potencia)
→  VFPA 10 32 Y 64 BITS
→  RUNTIMES PARA LOS CLIENTES

Link de descargas:

https://levelvfp-my.sharepoint.com/:f:/g/personal/gfvaldez_levelvfp_onmicrosoft_com/EpLRTWENSDFGq8qfHulkW4IBHHLozhzPSF7rNgHyIiArLw?e=K4bly1

Ruta Instalacion por defecto de los manuales 

Cuando instalamos en nuestra pc la clase sqldata, sqldata2 se instala por defecto en la ruta:

C:\Program Files\LEVELVFP ARGENTINA\

Dentro de la ruta esta la carpeta manuales sqldata y sqldata2 , alli se se encuentra la documentacion oficial de la funcion psqlejecutar , que se encuentra en el archivo manual referencia.rtf ,

Se hace referencia en el CURSO 1 SQLDATA Y SQLDATA CURSO DE INCIO  en el tiempo 00:30:40

Que es la funcion psqlejecutar de VFP 10

La funcion psqlejecutar , se le conoce como la funcion de crear tablas , realiza consultas y comandos en el servidor y trae el resultado a un cursor. 

La funcion psqlejecutar , es la que permita ejecutar consultas al servidor , comandos select ,

Sintaxis

osqldata.psqlejecutar(objeto screen,"numero o nombre de conexión", 
objeto entorno de datos,vacio,
 "consultag,consultah,consulta,consultac,consultar o comando",
 "cursor", "basededatos.dbo.tabla", "select * from basededatos.dbo.tabla",
"-1 o numero del select a traer o vacio",
"nombreid","camposignorados y condiciones separados por coma",
vacio,"idice clave primaria si se usan dbf","campossimbolos" )

 

CURSORSETPROP("Buffering",3,"cursor")
 // Para poder crear índices Y volver al 5 obligatoriamente

 

CURSORSETPROP("Buffering",5,"cursor")

Por defecto se considsera  al usar consultag , que es una tabla con clave primaria llamada “id” autoincremental 

Puede colocar cualquier nombre y si no es autoincremental 

Coloque la palabra grabarid en camposignorados separados por coma.

Coloque sinidk en el valor de id solo para insertar registros en una tabla que no tiene id.

 

→ "consultag" Consultas para modificar y despues grabar.  trae el cursor para ser grabado posteriormente,
→ "consulta" Consultas  para usarla en un reporte. para informes, reportes,
→ "consultac" Es una consulta para cache , trae del cache ,  graba la consulta en la maquina local como un dbf , y no esta consultando a cada rato el servidor cuando abro el formulario ,   solo cuando hay un cambio en el servidor se actualiza automaticamente la consulta cuando se vuelva a ejecutar la instruccion. Es una consulta de solo lectura de una tabla , se utiliza generalmente como una consulta para tabla maestra. 
→ "consultah"

Es igual que consultac , Al abrir el formulario que es invocado  la consulta verifica si no hay cambios en la consulta , si no hay cambios trabaja con la consulta grabada en el archivo de la maquina local , si hubiera un cambio vuelve a consultar al servidor y grabarlo  en el archivo de la maquina local. 

Se comporta como consulta jefe es decir que permite la grabacion de las modificaciones 

→ "Consultar" 

Se conecta al servidor remoto

 

Ejemplo de uso 1 

osqldata.psqlejecutar(_screen, "1", _screen,oclientes, "consultag", 
"clientes", "fabrica.dbo.clientes", 
"select * from fabrica.dbo.clientes")
CURSORSETPROP("Buffering",5,"clientes") //por defecto es buffering 5

osqldata.psqlejecutar(_screen, "1", _screen,oclientes, "consultag", 
"clientes", "fabrica.dbo.clientes", 
"select * from fabrica.dbo.clientes",,”idcliente”)
CURSORSETPROP("Buffering",5,"clientes") //por defecto es buffering 5

osqldata.psqlejecutar(_screen, "1", _screen,oclientes, "consultag", 
"clientes", "fabrica.dbo.clientes", 
"select * from fabrica.dbo.clientes",,”codcli”,”grabarid”)
CURSORSETPROP("Buffering",5,"clientes") //por defecto es buffering 5

osqldata.psqlejecutar(_screen, "1", _screen,oclientes, "consultag", 
"clientes", "fabrica.dbo.clientes", 
"select * from fabrica.dbo.clientes",,”sinidk”)
CURSORSETPROP("Buffering",5,"clientes") //por defecto es buffering 5

Ejemplo de uso 2

Recuerda cuando llamamos siempre una funcion debemos instanciar la clase  sqldata2 

LOCAL osqldata2 as sqldata2 OF sqldata2.sqldata2 
osqldata2=CREATEOBJECT("sqldata2.sqldata2")

xnombre=CHRTRAN(thisform.obuscar.Value," ","%")+"%"

TEXT TO vselect TEXTMERGE NOSHOW 
	select c.id, c.nombre, c.direccion from clientes c 	
		where c.nombre like ?xnombre
ENDTEXT


thisform.ogrilla1.RecordSource=""
osqldata2.psqlejecutar(_screen,"1",thisform,,"consultag",
"clientes_1","clientes",vselect,,
"id","maxrk100,localidad,provincia,pais")

thisform.ogrilla1.RecordSource="clientes"

Explicacion Parametros

→  clientes_1 = alias , se le puede poner cualquier nombre o el mismo nombre de la tabla del servidor.

→  clientes =    Es el nombre de la tabla del servidor.

 

Articulo : 1156 - Veces Leidas
Compartir Articulo: