[Lazarus-es] Enlazar tdbgrid con una tabla sqlite3

Victor Villalobos revxfire en gmail.com
Vie Ene 23 14:57:25 CET 2015


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
> <http://wiki.freepascal.org/Lazarus_Database_Tutorial/es>
>
>
>
> 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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150123/50a40ced/attachment-0002.html>


More information about the Lazarus-es mailing list