In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Para Bingen Ugaldebere

Foro público de Xailer en español
Responder
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

Para Bingen Ugaldebere

Mensaje por PEDRO DE LEON RODAS[3] »

Saludos.
He leido que desarrollastes un Programa con Base de datos SqLite y MySql.
Mi petición es si me puedes ayudar con unos ejemplos.
Igual que tu he visto la rapidez de SqLite y en verdad es extraordinaria,
por lo cual me estoy interesando en adquirir la edicion Enterprise.
Pero pues no tengo nada de experiencia en el manejo de SqLite en Xailer.
¿ Como hacer para localizar un registro y remplazar o editar los datos de
dicho registro ?
Por ejemplo como lo hacemos con Seek
::Mi_dataset:Seek(Mi_variable)
If ::Mi_dataset:Found()
::Mi_dataset:Edit()
::Mi_dataset:clave="AA1"
::Mi_dataset:Rfc="LERP-700517"
Etc.
::Mi_dataset:Update()
Endif
¿ Como obtener una consulta y ponerla en un tbbrowse ?
Creo que con estos pasos podria empezar y asi desarrollar un programa mas
confiable y rapido.
Te agradezco mucho toda la ayuda proporcionada.
::
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

Para Bingen Ugaldebere

Mensaje por miguel »

Hola,
Mirate xailersamplesSqlite1
Ahi tienes lo necesario para empezar y entender, es una buena opción para
trabajar en local y mas todaví­a si piensas que tu proyecto puedas llevarlo
en el futuro a cualquier motor de Base de datos MySql, Sql Server etc. ya
que no te costara casi nada de esfuerzo.
Ya hace bastante tiempo que abandoné los dbf's por SQLite y es otra
dimensión, eso si, has de cambiar radicalmente el "chip", es otro concepto
que te abre la puerta de todas la posibilidades de SQL infinitamente
superiores a los dbf's, sin despreciarlos ¡ojo!, tengo aplicaciones desde el
año 93 con históricos de miles de lineas que siguen trabajando como el
primer dí­a con dbf´s y ntx.
Xailer te ofrece todo lo necesario y mas, para tratar BD en SQL, ya sea con
DataSet o via oDatasource:execute(....), tu eliges la técnica.
Asi es que te animo al cambio.
Saludos. Miguel A. Torrellas.
"PEDRO DE LEON RODAS" <7773613810@prodigy.net.mx> escribió en el mensaje de
noticias news:[email=4907eb88@ozsrv2.ozlan.local...]4907eb88@ozsrv2.ozlan.local...[/email]
> Saludos.
>
> He leido que desarrollastes un Programa con Base de datos SqLite y MySql.
>
> Mi petición es si me puedes ayudar con unos ejemplos.
>
> Igual que tu he visto la rapidez de SqLite y en verdad es extraordinaria,
> por lo cual me estoy interesando en adquirir la edicion Enterprise.
> Pero pues no tengo nada de experiencia en el manejo de SqLite en Xailer.
>
> ¿ Como hacer para localizar un registro y remplazar o editar los datos de
> dicho registro ?
> Por ejemplo como lo hacemos con Seek
>
> ::Mi_dataset:Seek(Mi_variable)
> If ::Mi_dataset:Found()
> ::Mi_dataset:Edit()
> ::Mi_dataset:clave="AA1"
> ::Mi_dataset:Rfc="LERP-700517"
> Etc.
> ::Mi_dataset:Update()
> Endif
>
>
> ¿ Como obtener una consulta y ponerla en un tbbrowse ?
>
>
> Creo que con estos pasos podria empezar y asi desarrollar un programa mas
> confiable y rapido.
>
> Te agradezco mucho toda la ayuda proporcionada.
>
>
>
>
>
> ::
>
>
>
jrcsistemas
Mensajes: 180
Registrado: Lun Sep 15, 2008 2:53 pm

Para Bingen Ugaldebere

Mensaje por jrcsistemas »

Hola.
Yo tambien estoy empezando a desarrollar una aplicacion con acceso a MySQL.
Lo que hago por ahora es trabajar con las tablas directamente con los
DataSet y DataControls, para actualizar "automaticamente" los datos y hacer
un ABM normal.
Y cuando necesito leer un dato de una tabla lo hago asi
Local aData := {}
::oDataEjemplo:Execute ( "Select ID,codigo, detalle from categorias where
codigo='"+cCate+"'",,@aData)
y obtengo los datos de aData[1][1], aData[1][2] y aData[1][3]
Para actualizar un registro uso el campo ID que le pongo a todas las tablas
con valor Autoincremento (como si fuera un Recno()) o por el valor de algun
campo y lo hago asi:
::oDataEjemplo:Execute( "Update categorias set detalle='nuevo dato' where
ID='2'")
Para borrar:
::oDataEjemplo:Execute( "Delete from categorias where ID='2'")
Debe haber otros metodos, pero no los conozco, es todo lo que he aprendido
en el poco tiempo que llevo en esto, 1 mes, comparado con 21 años de
exclusivamente Clipper. Debe ser mas facil para los que pasaron por algo
intermedio antes.
Cuando aprenda algo mas te lo comento.
Saludos
Juan
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

Para Bingen Ugaldebere

Mensaje por PEDRO DE LEON RODAS[3] »

Miguel Torrellas, gracias por tu respueta.
De echo ya vi el ejemplo que trae Xailer, y le entiendo bien, pero ahi solo
hay ejemplo de como agregar o editar un registro.
Y lo que quiero tambien es como localizar y remplazar siertos datos.
Juan Castañeda, gracias por tu aportación, voy a realizar las pruebas con el
ejemplo que me estas proporcionando te estare informando y si logro hacer
algo diferente tambien te lo comunicare.
En verdad mil gracias.
Dios les bendiga.
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Para Bingen Ugaldebere

Mensaje por Bingen Ugaldebere »

En principio acceder a la base de datos e insertar, editar o borrar
registros lo puedes hacer a través del DataSource y del Dataset como has
visto en ese ejemplo, verás que funciona igual que para los DBFs, es la
genialidad de Xailer.
Para otras cosas como localizar un registro/s concreto/s necesitarás
conocimientos básicos del lenguaje Sql y mirarte instrucciones del
Datasource TSQLiteDataSource, puedes consultar sus métodos como:
Query
QueryArray
QueryValue
Pero como dice Torrellas debes de cambiar el chip para amoldarte a Sql.
Por ejemplo ese Seek como tal no existe pero si haces un Query a la base
de datos te devolverá un Dataset (como si fuera una tabla DBF) con los
registros que coinciden con las condiciones que tu impongas, al estilo
de un Scope en Dbfs y que luego puedes usar para editar o lo que sea.
Ejemplo real usando Sqlite:
oUsuarios:=AppData:oControlDb:Query("select * from usuarios where
usuario like '"+Allstring(cUser:Value)+"'")
oUsuarios:lOpen:=.T.
Do while !oUsuarios:Eof()
oUsuarios:Edit()
oUsuarios:FieldPut(nItem,Bin2Chr("1111111111111111")+cFormName)
oUsuarios:Update()
oUsuarios:Skip()
Enddo
Salu2
Responder