Gracias, es que yo lo estaba haciendo todo con el TSQLTable, y QueryRow, cuestión de adaptarme, voy a revisar el ejemplo del área de descargar, psolo que no tiene los recursos, y aun no logro compilarlo, pero, llevo leido algunos PRG.
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
https://www.facebook.com/zeasoftware
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"PEDRO DE LEON RODAS" <
7773613810@prodigy.net.mx> escribió en el mensaje de noticias:[email=538e0088@svctag-j7w3v3j....]538e0088@svctag-j7w3v3j....[/email]
Yo lo hago de esta manera:
Uso un dataset TsqlQuery llamado consulta
::oDBFClientes:Gotop()
Do while .not. ::oDBFClientes:Eof()
::Consulta:cSelect=â€select * from timbres where rfc='" + ::oDBFClientes:RFC + "' “
::Consulta:open()
iF ::Consulta:Reccount()>0 ///// con esto verifico si la consulta me regreso algun registro (Recuerda Reccount es el total de registros en la tabla)
::Consulta:Edit()
::Consulta:accesos += 1
::Consulta:Update()
Else
::Consulta:AddNew()
::Consulta:nombre=::oDBFClientes:nombre
::Consulta:Update()
Endif
::oDBFClientes:Skip()
Enddo
Y con este metodo no he tenido problemas.
Saludos
<
zeasoftware@hotmail.com> escribió en el mensaje de noticias:[email=538d5095@svctag-j7w3v3j....]538d5095@svctag-j7w3v3j....[/email]
Gracias, actualmente hago esto, pues de inicio quiero entender bien el funcionamiento, para empezar a implementarlo en una sección de mi sistema, que un cliente me ha pedido.
Quiero hacer algo parecido al manejo de DBF:
Si Existe_el_dato
actualizo_un_campo
Sino
agrego_datos
FinSi
//Supongo tendría que usar el MODIFY, pero no me daría el mismo efecto que busco arriba.
::oSQLTable1:Open()
With Object ::oDBFClientes
:Open()
:GoTop()
While !:Eof()
::oWebDataSource1:Execute("Select * From timbres Where RFC = '" + :RFC + "'" )
lExiste := ( ::oWebDataSource1:nAffectedRows > 0 )
//aunque regresa que el dato existe, pero siempre está en el renglón 1
IF ( lExiste ) //::oSQLTable1:Seek(:RFC) )
//funciona bien, pero siempre está en el registro 1
::oSQLTable1:FastEdit()
::oSQLTable1:accesos += 1
::oSQLTable1:FastUpdate()
Else
//aaquí anexo los datos nuevos, y funciona perfecto.
::oSQLTable1:FastAddNew()
::oSQLTable1:RFC := :RFC
::oSQLTable1:Nombre := :Nombre
::oSQLTable1:FastUpdate()
End
:Skip(1)
End
:Close()
End With
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
https://www.facebook.com/zeasoftware
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"PEDRO DE LEON RODAS" escribió en el mensaje de noticias:538d4ca3$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Que tal Ramón Zea, saludos.
Yo empecé a trabajar con esa clase, logre conectarme a mi base de datos,
inserte e incluso hago consultas, edito registros.
Pero, desafortunadamente me quede estancado al querer controlar los
bloqueos.
En cuanto tenga otro tiempo seguiré buscando y estoy seguro que le voy a
sacar todo lo bueno de esta clase.
Te pongo unos ejemplos de como logre conectarme con la bd en el hosting.
Este codigo lo puse en mi prg principal
AppData:AddData("base",TWebDataSource():Create())
WITH OBJECT AppData:Base //Defino propiedades del DataSource
:cConnect := "
www.midominio.com" /// Si tu dominio es por ejemplo
www.programas.com
:cCryptKey :="x1x2a3" //// Esto es lo que pones en el archivo
xa_wdsMySql.php que subistes a tu hosting
:cDatabase := "midomini_mi_bd" /// nombre de la base de datos, tienes
que escribir primero los ocho digitos de tu dominio seguido de un guin bajo
y el nombre de la base de datos
:cPhpModule:= "xa_wdsMySql.php" //// En esta parte tienes que
especificar el nombre del archivo php
:nDBType:= dtMYSQL
:nPort=80
:nTimeOut=30
:lDisplayErrors=.T.
:lAbortOnErrors := .T.
IF !:Connect()
MSGSTOP('NO SE PUEDE CONECTAR AL SERVIDOR')
QUIT
else
ENDIF
END WITH
Y si quieres hacer consultas puedes usar la forma de los datasets TsqlQuery.
Eejemplo:
::Mi_dataset:oDataSource=AppData:Base //// Esto es lo que esta arriba
AppData:AddData("base",TWebDataSource():Create())
::Mi_dataset:cSelect="select * from mi_tabla Where
mi_campo='"+Variable_buscar+"' "
::Mi_dataset:Open()
::Mi_dataset:Edit() //// De esta forma puedes editar un registro
::Mi_dataset:mi_campo=mi_variable
::Mi_dataset:Update()
O si quieres insertar un registro a la tabla puedes hacer lo siguiente:
::Mi_dataset:cSelect="select * from mi_tabla Where 0 "
::Mi_dataset:Open()
::Mi_dataset:AddNew() //// De esta forma puedes editar un registro
::Mi_dataset:mi_campo=mi_variable
::Mi_dataset:Update()
No soy bueno para explicar por medio de letras, espero te sirva de algo.
Saludos
--