[Lazarus-es] Enlazar tdbgrid con una tabla sqlite3

Juan Perles perlesj en gmail.com
Sab Ene 24 13:59:35 CET 2015


De nuevo muchas gracias por tu ayuda.

Juan Perles
628.482.007
Enviado desde mi iPad

> El 23/1/2015, a las 14:57, Victor Villalobos <revxfire en gmail.com> escribió:
> 
> Me alegra que te halla servido juan, 
> 
> La conexion puedes abrirla al ejecturar tu programa en el evento OnShow de tu formulario principal, solo debes importar el DataModule normalmente como si fuese un formulario:
> 
> Uses
> DataModule1
> 
> Y lo usas normalmente:
> 
> DataModule1.Connection.Connected := True;
> 
> Lo que si debes abrir solo cuando los necesites son tus dataset`s bien sea TTable o TQuery, o cualquiera que uses, yo lo hago de la siguiente forma, suponiendo que exista un formulario Clientes, haria esto:
> 
> Var
> FormClientes: TFormClientes;
> Begin
> Try
> DataModule1.TableClientes.Open;
> FormClientes:= TFormClientes.Create(Self);
> FormClientes.ShowModal();
> DataModule1.TableClientes.Close;
> Finally
> FormClientes.Free;
> End;
> 
> 
> O puedes abrirlos en el evento OnShow del formulario que abriras, y cerrarlos en el OnClose del mismo, depende de la arquitectura de tu desarrollo.
> 
> Saludos.
> 
> El 23 de enero de 2015, 4:11, Juan Perles <perlesj en gmail.com> escribió:
>> Muchas gracias, he cambiado la instrucción al evento Show, como me dijo Víctor, y me funciona. No obstante Víctor me abre una perspectiva que desconocía y es el DataModule. Estoy estudiando esta posibilidad, sin embargo, a priori, no sé cuándo abrir la Base de Datos y por tanto poder establecer los link. 
>> Pero ya les digo que voy a estudiar y aprender, muchas gracias. 
>> 
>> Juan Perles
>> 628.482.007
>> Enviado desde mi iPad
>> 
>>> El 22/1/2015, a las 14:52, Victor Villalobos <revxfire en gmail.com> escribió:
>>> 
>> 
>>> 1) Deberias crear un DataModule en vez de tener las connection en un Formulario e importar el modulo cuando sea necesario.
>>> 2) Estas importando correctamente el form? .
>>> 3) Trata de colocar el codigo de ejecucion de tu codigo en el evento "OnShow" de los formularios y no el "OnCreate", ya que muchos componentes que quieres inicializar no se han creado al momento en el que se ejecuta este evento.
>>> 
>>> Siguiendo estos pasos dudo que tengas algun problema, tambien recuerda que el datasource debe estar conectado a algun dataset, buen sea un Query o un Table y estos ultimos enlazados a un Connection en s propiedad "Connection".
>>> 
>>> Saludos y suerte, te recomiendo leer la documentacion de lazarus aca
>>> 
>>> 
>>> 
>>> El 22 de enero de 2015, 6:37, Juan Perles <perlesj en gmail.com> escribió:
>>>> En un formulario llamado Principal tengo una tdbgrid.
>>>> En otro formulario llamado Form3 tengo TSqlite3Dataset y el TDatasource. ( En esta unidad se trata todas las operaciones de la Base de Datos).
>>>> En la definición de la TDbGrid no se ha podido especificar el DataSource. Con lo cual lo tengo que hacer en tiempo de ejecución.
>>>> En el evento FormCreate de Principal, pongo la siguiente instrucción
>>>>        Tdbgrid1.datasource :=Form3.contactsdatasource.
>>>> 
>>>> En tiempo de ejecución me  da un error de
>>>>        El proyecto Pepe ha lanzado una excepción de la clase
>>>>        "External: EXC_BAD_ACCESS"
>>>> Justamente en la línea que tengo la asignación del DataSource.
>>>> ¿Que estoy haciendo mal?
>>>> Muchas gracias de antemano por vuestra ayuda.
>>>> Juan Perles
>>>> 628.482.007
>>>> Enviado desde mi iPad
>>>> _______________________________________________
>>>> Lazarus-es mailing list
>>>> Lazarus-es en lists.lazarus.freepascal.org
>>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>> 
>>> 
>>> 
>>> -- 
>>> Victor Villalobos
>>> Bahia Pirata
>>> Inversiones Villalobos Balzan.
>>> 0412 6882141
>>> _______________________________________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>> 
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>> 
> 
> 
> 
> -- 
> Victor Villalobos
> Bahia Pirata
> Inversiones Villalobos Balzan.
> 0412 6882141
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150124/4042a09a/attachment-0002.html>


More information about the Lazarus-es mailing list