Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2014, 18:02
MarkiiAk
 
Fecha de Ingreso: enero-2011
Ubicación: Del otro lado del monitor
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 0
Llamar a métodos desde otro form

Que tal a todos, les cuento que este es mi problema, en el Form1 tengo un codigo que me conecta a mi base de datos, el problema es que lo quiero volver a usar en un Form2 este metodo para crear la conexion:
Esto tengo en el Form1

Código C#:
Ver original
  1. public partial class Form1 : Form
  2.     {
  3.         System.Data.SqlClient.SqlConnection con;
  4.  
  5. public void conectarbd()
  6.         {
  7.             con = new SqlConnection();
  8.             con.ConnectionString = "Integrated Security=SSPI;Initial Catalog=Empleados;Data Source=CRISTINA\\SQLEXPRESS";
  9.             try
  10.             {
  11.                 con.Open();
  12.  
  13.             }
  14.             catch (Exception)
  15.             {
  16.                 MessageBox.Show("Conexion Fallida");
  17.             }
  18.         }
  19. }

Este lo mando a llamar cuando Form1_Load para que se conecte
ahora en mi Form2 quiero usar esta misma conexion. Y aqui viene mi problema;

En el Form2:

Código C#:
Ver original
  1. private void Form2_Load(object sender, EventArgs e)
  2.         {
  3.             conectarbd();            
  4.         }
  5.  
  6.         private void button1_Click(object sender, EventArgs e)
  7.         {
  8.             SqlDataAdapter da = new SqlDataAdapter("INSERT INTO Users (Nombre,Correo) Values ('" + textBox1.Text + "', '" + textBox2.Text + "')",con);
  9.             DataSet ds = new DataSet();
  10.             da.Fill(ds);
  11.         }

Fue entonces cuando me di cuenta que "con" nunca obtenía ningún valor entonces no se modificaba mi base de datos.

Entonces como le hago, mi solución provisional fue volver a escribir toda la conexión en el form2 para que con si tuviera algun valor, pero es lo que quiero evitar, repetir el mismo codigo cuando ya lo tengo hecho en otro lado.
Espero haber sido claro.
Saludos