C sharp - Problema de Ámbito

 
Vista:

Problema de Ámbito

Publicado por Diego Campillo (13 intervenciones) el 10/02/2005 10:50:50
Tengo un formulario MDI que es el que abre la conexión, y la variable del objeto de la conexión debe ser vista por todos los formularios hijos, ya que la necesitan cuando establecen dicha conexión a un comando, para establecer una sentencia SQL:

¿Cómo debo definir y donde la variable de objeto de la conexión el formulario MDI?

Aquí es donde yo la he definido, pero no me funciona, dándome el mensaje -> El nombre ConexionBD no existe en la clase o el espacio de nombres 'Contabilidad.Form2' <- (Form2, es el formulario hijo donde pretendo usar la variable objeto conexión).

public OdbcConnection ConexionBD;

[STAThread]
static void Main()
{
Application.Run(new Form1());
}

Gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema de Ámbito

Publicado por Edgar (278 intervenciones) el 10/02/2005 12:48:18
Hola

Puedes hacer lo siguiente.. Declara la conexión como una variable estática

private static OdbcConnection ConexionDb;

Luego creas un constructor estático para la clase

static NombreClase ( )
{
Creas el objeto
}

Luego creas una propiedad estática para obtener la conexion

public static Conection
{
get {return ConexionDb;}
}

Y en el formulario hijo, para obtener la conexion, solamente invocando directamente a la clase, por ejemplo, si la clase del formulario la llamaste Form1, haces

conexion = Form1.Conection;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Problema de Ámbito

Publicado por Yamil Bracho (1164 intervenciones) el 10/02/2005 14:20:09
Tengo una clase llamada Database que uso en todas mis aplicaciones y es la que se encarga de todo el manejo de acceso a datos. Simplemente creo una instancia y manejo la conexion atraves de un patron de Singleton.
Es buena idea ir separando el acceso a datos de los formularios y tener clases de negocio que hagan dicha funcionabilidad. Puedes chequear los Application Blocks en el website de microsoft
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar