-1

我对两个不同的表有两个不同的查询我想在表单上的两个数据网格视图中显示结果

string query1 = string.Format("select * from Flat where [Flat_No.]='{0}'",flat.Text);
string query2 = string.Format("select * from 1");
SqlCommand cmd = new SqlCommand(query1, con);
SqlCommand cmd1 = new SqlCommand(query2, con1);

dataview frm1 = new dataview(query1,query2); //the form where data is to be displayed

// on form dataview I have two DataGridViews
public dataview(string a,string b)
{
        InitializeComponent();

        SqlConnection con = new SqlConnection(Class1.getConnectionString);
        //connection name

        con.Open();

        SqlCommand cmd = new SqlCommand(a , con);
        cmd.CommandType = CommandType.Text;

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataSet ds = new DataSet();

        da.Fill(ds, "ss");

        dataGridView1.DataSource = ds.Tables["ss"];
        con.Close();

        SqlConnection con1 = new SqlConnection(Class1.getConnectionString);
        //connection name for query1

        con1.Open();
        SqlCommand cmd1 = new SqlCommand(b, con1);
        cmd1.CommandType = CommandType.Text;

        SqlDataAdapter da1 = new SqlDataAdapter(cmd1);

        DataSet ds1 = new DataSet();

        da.Fill(ds1, "aa");

        dataGridView2.DataSource = ds1.Tables["aa"];
        con1.Close();
   }
}

但是上面的代码在两个数据网格视图中都显示了来自查询 1 的数据。请帮助我如何解决这个问题?如果有其他方式让我也知道。我还尝试使用“+”号合并两个查询,但也没有证明有帮助。

4

1 回答 1

2

使用da1.Fill而不是da.fill. 您正在使用da DataAdapter来填充两者Datasets

da.Fill(ds1, "aa");

da1.Fill(ds1, "aa");
于 2013-08-25T08:27:48.920 回答