Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Framework para VFP Conexion Con SQLServer MySQL PostgreSQL y Oracle III PDF
Framework para VFP Conexion Con SQLServer MySQL PostgreSQL y Oracle III PDF
djame
decirte
que
no
lo
hars.
Porque
he
cuando
se
utiliza
el
mtodo
SQLCOMANDO.
- VALIDAIMG
Valor ha utilizar .T. o .F.; Si la tabla tiene imgenes, esto es
muy importante para MySQL y PostgreSQL.
- VALIDARFECHA
Valor a utilizar .T. o .F.; Cuando queremos guardar fechas
vaca
en
MySQL
no
permite
enviar
error
como
si
- OTHERCN
Esta propiedad nos ayudara a trabajar con diferentes
conexiones simultneamente en un formulario o ambiente de
trabajo, si la propiedad OTHERCN est vaca, el framework
trabajara con la conexin por defecto que es la varia CN.
Ejemplo:
Para poder usar tenemos que crear conexiones a diferente base
de datos como veremos en el siguiente cdigo MySQL
FUNCTION RECONECCION &&conexion predeterminada para el framework
CN=SQLSTRINGCONNECT("DRIVER={MySQL ODBC 3.51
Driver};OPTION=0;SERVER=localhost;UID=root;PWD=123456;DATABASE=malkaso
ftadpi;PORT=3306;")
RETURN CN
ENDFUNC
FUNCTION OTHERCN &&otra conexion que deseamos realizar
OCN=SQLSTRINGCONNECT("DRIVER={MySQL ODBC 3.51
Driver};OPTION=0;SERVER=localhost;UID=root;PWD=123456;DATABASE=digital
;PORT=3306;")
RETURN OCN
ENDFUNC
Forma de usarlo
&&POR DEFECTO
Thisform.sqlconector1.execute("SELECT * FROM TbTabla","TmpTabla")
&&OTRA CONEXION
Thisform.sqlconector1.othercn = "OCN"
Thisform.sqlconector1.execute("SELECT * FROM
horarios","TmpOCNHorario")
Thisform.sqlconector1.othercn = ""
Nota: Al usar otra conexin es preferible dejarla vaca la propiedad othercn para
que el framewrok trabaja con la conexin por defecto, sin la necesidad de
volver a nmbralo.
MTODO:
- SQLCOMANDO
Sus parmetros (cAccion, cTablaSqlCur, cTablaSql,
CondUpdate) cAccion = N nuevo; A Actualiza; E Eliminar.
Thisform.sqlconector1.Execute(Select
from
Tabla
En el la
CodCli
CodVen
FPago
Total
From
CabeceraDoc,TmpCabecerado)
Si lo quieren hacer ms interesante podemos manejar los buffer
de almacenamiento de la siguiente manera.
CURSORSETPROP("Buffering",5," TmpCabecerado")
Agregar un nuevo Registro.
Botn Nuevo.
Select TmpCabecerado
APPEND BLANK
Despus que hacer todo nuestro proceso y de escribir los valores
correspondientes en nuestros controles. Pasamos a guardarlo
Botn Grabar.
Select TmpCabecerado
=TABLEUPDATE(.T.)
Thisform.sqlconector1.Validarfecha = .T.
&&Valido
la fecha si no se
escribo nada
Thisform.sqlconector1.sqlcomando(N,TmpCabecerado,Cabecer
aDoc)
Botn Eliminar.
Primer paso cuando uno quiere eliminar un registro es ubicarse
en la posicin del registro que se desea eliminar.
Select TmpCabecerado
Delete
Thisform.sqlconector1.cLlavePrimaria = NumeroDoc
Thisform.sqlconector1.sqlcomando(E,TmpCabecerado,Cabecer
aDoc)
Como pueden observar todo el cdigo es de VFP no hay nada
nuevo y de seguro mucho de ustedes lo tienen as.
En
este
ejemplo
veremos
como
se
utiliza
la
propiedad
Cantidad
Precio
Importe
Producto
CodProd
Descripcion Unidad
Stock
PCosto
StockMin
d.*,
p.Descripcion,
p.Unidad
From
CodPr
Descripci Cantid
Preci Unid
Preci Impor
Doc
od
on
ad
ad
te
Botn Grabar.
&&Guardando
la cabecera
Select TmpCabecerado
=TABLEUPDATE(.T.)
Thisform.sqlconector1.Validarfecha = .T.
&&Valido
la fecha si no se
escribo nada
Thisform.sqlconector1.sqlcomando(N,TmpCabecerado,Cabecer
aDoc)
&&Guardando
el Detalle
&&Verifico
si los
&&
Thisform.sqlconector1.sqlcomando(N,
TmpDetalle,
DetalleDoc)
Endscan
Para la actualizacin de los registro seria todo igual, con la nica
diferencia que esta vez debemos de determinar quien es la llave
principal y poder hacer los cambios sobre ello.
Thisform.sqlconector1.cllaveprimaria = NumeroDoc
Thisform.sqlconector1.sqlcomando
(A,TmpCabecerado,CabeceraDoc)
El Framework no tiene limitacin cuando se quiere utilizar para
inserte y/o actualizar registro de una tabla. Ejemplo para insertar
campos a una tabla.
Select TablaVFP
Go Top
Scan
Thisform.sqlconector1.sqlcomando(N,TablaVFP,TablaSQL
Almacenar)
EndScan
Nota: CondUpdate se utiliza si quiero seguir restringiendo la
actualizacin.
Tambin se tiene que tomar en cuenta, si se utiliza el Framework
para la actualizacin de los datos forzosamente tiene que declarar
un campo como llave primaria, teniendo en cuenta que este
campo sea o no llave primaria en su tabla.
Ejemplo:
Thisform.sqlconector1.sqlcomando
(A,TmpCabecerado,CabeceraDoc, CodCli=RUSS )
La verdad que no van a cambiar nada de sus cdigo todo ser
igual, espero estar en contacto con ustedes y poder ayudarles a
los interesados. Me pueden contactar en el siguiente correo
rycjesusrj@hotmail.com
Entrada de Datos.
El Botn Nuevo
El Botn Cancelar
El Botn Grabar
El Botn Editar
El Botn Eliminar