Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/03/2014, 18:01
javidotnet
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años
Puntos: 3
Respuesta: Eficiencia a la hora de programar

El objeto "con" de form1 es distinto del objeto "con" de form2:

form1.con != form2.con // fijate que no coinciden, son distintos!

Si vos querés ver el objeto form1.con desde form2, entonces podés declararlo public:

Public System.Data.SqlClient.SqlConnection con;

Aquí va un consejo: siempre es aconsejable declarar explícitamente qué nivel de accesibilidad tendrán los miembros de una clase.

Entonces en form2 sólo ponés:
SqlDataAdapter da = new SqlDataAdapter("INSERT INTO Users (Nombre,Correo) Values ('" + textBox1.Text + "', '" + textBox2.Text + "')",form1.con);

Pero no es aconsejable programar así, en lugar de esto, los que saben aconsejan usar capas.

Pero ten en cuenta esta aclaración: en el modelo de capas, hay muchas incoherencias en los ejemplos que andan circulando por internet

la capa presentación nunca puede saltarse la capa de negocio e ir directamente a buscar el dato a la capa datos , eso está mal.

otra cosa que he visto es que referencian unas capas con otras en forma bidireccional , por ejemplo desde la capa negocio referencian a la capa datos y desde la capa datos referencian a la capa negocio, eso está mal

la capa datos no tiene que ver de ninguna manera la capa negocio, y la capa negocio no tiene que ver de ninguna manera la capa presentacion

cuando dos capas se referencian mutuamente, entonces no se trata de capas distintas sino IGUALES. Aquí hay que usar sentido común ¿para qué separar en capas y complicar el código si después vamos a referenciarlas mutuamente?

Si decides programar en capas, que es lo aconsejable, ten en cuenta estos detalles.

Saludos cordiales!