Pasar valores de un form a otro
Publicado por Manuel F. (33 intervenciones) el 03/07/2015 23:20:52
Muy buenas tardes a todos !!!
Tengo relativamente poco tiempo programando en C# (2010), apenas un año (por años, he estado programando en Visual Basic .Net), y tengo la siguiente duda...
He creado un Form MDI, con sus respectivos Forms 'hijos', se trata de un sencillo manejo de Base de Datos, cuando programo en VB, creo un módulo (.bas) en el cual creo un par de subrutinas (métodos tipo void equivalente) donde creo y abro y cierro la conexión con la base de datos, todo esto mediante variables "public", y así puedo mantener la conexión abierta mientras trabaje con la aplicación y luego cerrarla al finalizar su uso (esto, con el fin de evitar abrirl y cerrar conexiones continuamente con cada uno de los Forms hijos).
Al hacerlo en C#, cree una clase llamada public Conexiones y sus métodos void ConectarConBD y DesconectarDeBD (muy originales los nombres, ¿no?), y una variable public del tipo OleDbConnection , hasta ahí, la historia está muy bien... Pero ¿qué sucede? la variable la alcanzo a leer, por ejemplo, Cuando se abre el MDI principal, los métodos funcionan, y la conexión se mantiene en el dicho MDI... pero cuando se abre algún Form secundario, tengo volver a invocar los métodos de abrir y cerrar ya que ninguno de estos alcanza a leer el valor de la variable de conexión (abierta en el mdi principal) ¿qué estoy haciendo mal?
Esto es lo que coloco...
Conexiones cnn = new Conexiones(); (en los forms hijos y en el principal)
en el evento Load del MDI: ConectarConBD();
en el evento FormClosing del MDI: DesconectarConBD();
Gracias a quien pueda ayudarme con esto...
Manuel F. Borrego S.
Barcelona, Venezuela.
Tengo relativamente poco tiempo programando en C# (2010), apenas un año (por años, he estado programando en Visual Basic .Net), y tengo la siguiente duda...
He creado un Form MDI, con sus respectivos Forms 'hijos', se trata de un sencillo manejo de Base de Datos, cuando programo en VB, creo un módulo (.bas) en el cual creo un par de subrutinas (métodos tipo void equivalente) donde creo y abro y cierro la conexión con la base de datos, todo esto mediante variables "public", y así puedo mantener la conexión abierta mientras trabaje con la aplicación y luego cerrarla al finalizar su uso (esto, con el fin de evitar abrirl y cerrar conexiones continuamente con cada uno de los Forms hijos).
Al hacerlo en C#, cree una clase llamada public Conexiones y sus métodos void ConectarConBD y DesconectarDeBD (muy originales los nombres, ¿no?), y una variable public del tipo OleDbConnection , hasta ahí, la historia está muy bien... Pero ¿qué sucede? la variable la alcanzo a leer, por ejemplo, Cuando se abre el MDI principal, los métodos funcionan, y la conexión se mantiene en el dicho MDI... pero cuando se abre algún Form secundario, tengo volver a invocar los métodos de abrir y cerrar ya que ninguno de estos alcanza a leer el valor de la variable de conexión (abierta en el mdi principal) ¿qué estoy haciendo mal?
Esto es lo que coloco...
Conexiones cnn = new Conexiones(); (en los forms hijos y en el principal)
en el evento Load del MDI: ConectarConBD();
en el evento FormClosing del MDI: DesconectarConBD();
Gracias a quien pueda ayudarme con esto...
Manuel F. Borrego S.
Barcelona, Venezuela.
Valora esta pregunta


0