Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como usar los Componentes DBExpress... (https://www.clubdelphi.com/foros/showthread.php?t=57567)

Ingeniero 20-06-2008 00:51:09

Como usar los Componentes DBExpress...
 
Saludos!!! Amigos Expertos en Delphi, de este maravillos foro:

...Soy novato utilizando los componentes DBExpress y tengo una BD FireBird, y deseo utilizar este componente, me dicen que puedo utilizar los componentes Ibx pero sucede que tengo la necesidad de utilizar un componente que me permita conectar tambien con Sql u otra BD cliente-servidor, y para no modificar mucho mi aplicacion necesito un componente que me permita solo utilizando este intercambiar datos entre ambas BD, estoy tratando de utilizar los DBExpress pero no se como lo hago, porque cuando intento utilizar el SqlTable de este y trato de insertar registros me da error de "no puede modificar o insertar en un dataset de solo lectura" o algo asi, puede ser que yo haya hecho algo mal, por favor si alguien sabe como puede decir
me los pasos para lograr la conexion por tales componentes de forma efectiva. De Antemano, Muchas Gracias...

FGarcia 20-06-2008 04:13:15

Hola!
Los DBexpress son componentes de manejo unidireccional aunque eso no quiere decir que no se puedan manejar edicion y navegacion de datos.
Estoy empezando a jugar con ellos y con muchos vicios de programacion en bd asi que poco te podria ayudar; pero te recomiendo que busques los ejemplares 17 y 18 -la coleccion completa vale la pena- de la revista sintesis del grupo albor.

Caro 21-06-2008 00:20:34

Hola Ingeniero, como te dice FGarcia los componentes de DBExpress son unidireccionales y de solo lectura, es por eso que te sale el error "no puede modificar o insertar en un dataset de solo lectura", porque estas trabajando directamente sobre el SQLTable. Debe haber un cliente que nos ayude en la navegacion y edicion de los datos que llegaria a ser el ClienteDataSet.

Lo que tienes que hacer es lo siguiente, necesitas un ClientDataSet y un DataSetProvider aparte de tu SQLConnection y tu SQLTable. Debes conectar DataSetProvider con tu SQLTable (DataSet->SQLTable) y tu ClientDataSet con tu DataSetProvider (ProviderName->DataSetProvider).

Ahora cuando queramos registrar o modificar datos en nuestra tabla debes hacerlo mediante el CLientDataSet.

Código Delphi [-]
 ClientDataSet1.Open;
 ClientDataSet1.Insert;
 ......
 ......
 ClientDataSet1.Post;
 ClientDataSet1.UpplyUpdates(0);

ClientDataSet1.UpplyUpdates, esta ultima linea es muy importante
porque es la que aplica los cambios que has hecho.

Saluditos

Al González 21-06-2008 06:56:07

¡Hola!

Agregando a la excelente respuesta de Caro, subí esta imagen que elaboré hace unas semanas para ilustrar un poco más la conectividad entre los diversos elementos.



Donde dice "TSQLDataSet / TSQLQuery" puede ir también TSQLTable.

Un abrazo unidireccional.

Al González. :)


La franja horaria es GMT +2. Ahora son las 16:23:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi