C# 以第二种形式获取数据datagridview

C# 以第二种形式获取数据datagridview,c#,winforms,C#,Winforms,我有两张表格。在表格1中,我有两个组合框,它从存储过程和按钮中获取两个参数以触发结果。单击按钮时,结果应显示在表单2中,该表单具有datagridview 表格1中的我的代码(btn事件)。我真的不知道这是否正确 private void button1_Click(object sender, EventArgs e) { try { string C = ConfigurationManager.ConnectionStrings["D"].Connectio

我有两张
表格
。在表格1中,我有两个
组合框
,它从
存储过程
按钮
中获取两个参数以触发结果。单击按钮时,结果应显示在
表单2中,该表单具有
datagridview

表格1中的我的代码(btn事件)。我真的不知道这是否正确

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        string C = ConfigurationManager.ConnectionStrings["D"].ConnectionString;
        using (var con = new SqlConnection(C))
        using (var cmd = new SqlCommand())

        {
            SqlDataReader myReader;
            cmd.CommandText = ("[dbo].[spInfo]");
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Periode2", cbPeriode2.SelectedValue.ToString());
            cmd.Parameters.AddWithValue("@Periode1", cbPeriode1.SelectedValue.ToString());
            con.Open();
            myReader = cmd.ExecuteReader();

           if(myReader.HasRows)
            {
                DataTable datatable = new DataTable();
                datatable.Load(myReader);
                //datagridview1.DataSource = datatable;
            }
            con.Close();
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

    new Form2().ShowDialog();
} 
Form2(formload事件) 我不知道怎么在这里取唱片

private void Form2_Load(object sender, EventArgs e)
{           
}

将数据从form1传递到form2
来自表格1

private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            string C = ConfigurationManager.ConnectionStrings["D"].ConnectionString;
            using (var con = new SqlConnection(C))
            using (var cmd = new SqlCommand())

            {
                SqlDataReader myReader;
                cmd.CommandText = ("[dbo].[spInfo]");
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Periode2", cbPeriode2.SelectedValue.ToString());
                cmd.Parameters.AddWithValue("@Periode1", cbPeriode1.SelectedValue.ToString());
                con.Open();
                myReader = cmd.ExecuteReader();
                DataTable datatable = new DataTable();    
               if(myReader.HasRows)
                {

                    datatable.Load(myReader);
                    //datagridview1.DataSource = datatable;
                }
                con.Close();
                ShowForm2(datatable);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
}
public void ShowForm2(DataTable yourData)
{
    DataTable Data = yourData;
    Form2 frm = new Form2(Data);
    frm.Show();
}   
public class Form2
{
     public Form2()
     {
        InitializeComponent();
        //Default Consturctor
     }
     private DataTable LocalData;
     public Form2(DataTable Data)
     {
        InitializeComponent();
        LocalData = Data;
     }
     public void Form2_Load(object sender, EventArgs e)
     {
              //Consume LocalData Here
     }
}
在表格2上

private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            string C = ConfigurationManager.ConnectionStrings["D"].ConnectionString;
            using (var con = new SqlConnection(C))
            using (var cmd = new SqlCommand())

            {
                SqlDataReader myReader;
                cmd.CommandText = ("[dbo].[spInfo]");
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Periode2", cbPeriode2.SelectedValue.ToString());
                cmd.Parameters.AddWithValue("@Periode1", cbPeriode1.SelectedValue.ToString());
                con.Open();
                myReader = cmd.ExecuteReader();
                DataTable datatable = new DataTable();    
               if(myReader.HasRows)
                {

                    datatable.Load(myReader);
                    //datagridview1.DataSource = datatable;
                }
                con.Close();
                ShowForm2(datatable);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
}
public void ShowForm2(DataTable yourData)
{
    DataTable Data = yourData;
    Form2 frm = new Form2(Data);
    frm.Show();
}   
public class Form2
{
     public Form2()
     {
        InitializeComponent();
        //Default Consturctor
     }
     private DataTable LocalData;
     public Form2(DataTable Data)
     {
        InitializeComponent();
        LocalData = Data;
     }
     public void Form2_Load(object sender, EventArgs e)
     {
              //Consume LocalData Here
     }
}

问题/问题是什么?如果在Form1中单击按钮,则如何在form2 datagridview中获取记录Hi的可能副本。myData是否为form1=我的数据库连接?LocalData的含义是什么?thnx检查编辑后的代码,用上述form1代码替换您的代码,LocalData是form2tnx中用于和逻辑的变量