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)
-   -   Conectarse permanentemente a una BD (https://www.clubdelphi.com/foros/showthread.php?t=56582)

Aleh 21-05-2008 13:57:12

Conectarse permanentemente a una BD
 
Hola soy nuevo en el foro, estoy desarrollando mi proyecto de administración en Delphi y estoy teniendo bastantes problemas. Bueno voy al grano, me gustaria que respondiera alguien si sabe como establecer una conexion con un componente DBExpress desde que entramos en un programa, de manera que solo tenga un TSQLConection, es que si pongo uno por cada SQLQuery me pide la contraseña una y otra vez cada vez que realizo una consulta. Espero que entendais de qué hablo. Gracias.

tenporal 21-05-2008 14:34:58

Cambia la Propiedad loginprompt
 
El objeto sqlconnection tiene una propiedad LoginPromt que posiblemente la tengas en true, cambiala a false y asi no te pedira el login:)

Neftali [Germán.Estévez] 21-05-2008 15:39:07

Cita:

Empezado por Aleh (Mensaje 288257)
...es que si pongo uno por cada SQLQuery me pide la contraseña una y otra vez cada vez que realizo una consulta.

Es que no deben poner una conexión por cada SQLQuery. Al menos yo no veo razón para ello. Lo lógico es colocar un Connection e un DataSource o lugar accesible por el resto de formularios y conectar todos los querys a ese Connection.

De otra forma estás gastando más recursos (más conexiones de las necesarias) además de tiempo, ya que realizar la conexión es relativamente lento.

Aleh 21-05-2008 15:52:26

Solucioné lo de que me pidiera contraseñas, pero claro.. leyendo lo que pone Neftali tiene razon, los recursos...mi aplicacion tiene varios formularios MDIChild que cuelgan de un Main, ¿podria poner por ejemplo un Connection en el Main y tener acceso a el desde los Childs?, ¿como lo hago?, si teneis alguna idea. Gracias.

Casimiro Notevi 21-05-2008 18:53:11

Normalmente los componentes de bases de datos se colocan en un DataModule principal al que acceden todos los formularios del programa.

Aleh 23-05-2008 14:11:20

Ajam
 
Y cómo se hace eso??, he conseguido incluir un DataModule a mi proyecto, pero como coloco un componente ahi??, hay que hacerlo escribiendo todo??, yo estoy usando el componente TSQLConnection de los DBExpress... si pueden ayudarme. GRACIAS.

enecumene 23-05-2008 14:16:06

Cita:

Empezado por Aleh (Mensaje 288752)
Y cómo se hace eso??, he conseguido incluir un DataModule a mi proyecto, pero como coloco un componente ahi??, hay que hacerlo escribiendo todo??, yo estoy usando el componente TSQLConnection de los DBExpress... si pueden ayudarme. GRACIAS.

De la misma forma que colocas un componente en un form :rolleyes:, sólo que sirve para componentes de conecciones de datos.

Saludos. ;)

Aleh 23-05-2008 14:26:06

Yo para agregar un componente a un formulario arrastro el componente, pero en tiempo de diseño... en el datamodule no puedes poner DISEÑO, asi que ni idea de cómo se agrega... si alguien puede explicar un poquito cómo, lo agradeceria.

Delphius 23-05-2008 15:38:44

Un TDataModule no es tan diferente a un TForm. La diferencia está en que el TDataModule no puede contener controles y/o componentes visuales.

Para usar un componente de datos dispuesto en un TDataModule, sólo es necesario incluir en la sección uses el nombre de dicha unidad.

por ejemplo, supongamos que nuestro tForm1, asociado a un Unit1 hace uso de un TQuery dispuesto en el TDataModule2, el cual está asociado a la Unit2.

Entonces, esto se hace así:

Código Delphi [-]
uses Unit2;

Y de este modo ya podemos trabajar con los componentes que están dispuestos en dicho DM. Por ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule2.Query1.SQL := ...
end;

Espero que se me entienda la idea. Sino volvemos a repasar.

Saludos,

Aleh 23-05-2008 16:28:06

Entender se entiende, pero no consigo hacer que el componente coja el datamodule correctamente. No se en que estoy fallando, en fin, espero que pronto solucione esto, porque seguro que es una tonteria pero no me sale.

Delphius 23-05-2008 16:34:10

Cita:

Empezado por Aleh (Mensaje 288795)
Entender se entiende, pero no consigo hacer que el componente coja el datamodule correctamente. No se en que estoy fallando, en fin, espero que pronto solucione esto, porque seguro que es una tonteria pero no me sale.

Hola Aleh,
¿Podrías definir el significado de "no consigo hacer que el componente coja el datamodule correctamente"?

Al decirnos que fallas, poco podemos hacer. ¿Porqué no nos relatas más acabada y precisamente tus inquitudes?

No te vamos a cobrar por la cantidad de palabras, explica con mayores detalles tus dudas y prodemos serte de ayuda. Y de ser posible, una muestra de tu código (favor de emplear las etiquetas [ delphi ] [ /delphi ] (sin espacios) para visualizar correctamente el código).

Saludos,

Aleh 23-05-2008 16:45:45

Muchas gracias Delphius!!, pero ya por fin consegui dar con el error, gracias a tu explicación y leyendola un par de veces, jejejeje.

El problema era que no estaba asignando correctamente la unidad del datamodule en los formularios.

GRACIAS!


La franja horaria es GMT +2. Ahora son las 22:50:02.

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