从不同的表中填充Datagridview c#

时间:2015-09-29 03:47:02

标签: c# datagridview

我尝试从2个不同的表中填充数据网格视图,这些表是非成员,客户使用以下代码...但数据网格视图除了灰色背景外不显示任何内容。

using (SqlConnection connection = new SqlConnection(ConnectionString))
        using (SqlCommand cmd = connection.CreateCommand())
        {
            connection.Open();
            cmd.CommandText = "@SELECT tbl_nonMember.*, tbl_customer.customerID AS Expr1, tbl_customer.lname, tbl_customer.fname, tbl_customer.mname, tbl_customer.gender, tbl_customer.age, tbl_customer.membership_type FROM tbl_customer INNER JOIN tbl_nonMember ON tbl_customer.customerID = tbl_nonMember.customerID";
            SqlDataAdapter adap = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView2.DataSource = ds.Tables[0].DefaultView;
        }

1 个答案:

答案 0 :(得分:1)

在设置dataGridView2的数据源之前,尝试将其添加到您的方法中。

dataGridView2.AutoGenerateColumns = true;

你的选择查询不应该在关键字SELECT的前面有@。它应该是:

cmd.CommandText = "SELECT tbl_nonMember.*, tbl_customer.customerID AS Expr1, tbl_customer.lname, tbl_customer.fname, tbl_customer.mname, tbl_customer.gender, tbl_customer.age, tbl_customer.membership_type FROM tbl_customer INNER JOIN tbl_nonMember ON tbl_customer.customerID = tbl_nonMember.customerID";

所以我冒昧地猜测,在自动生成列之后,由于select子句无效,你的Tables [0]没有返回任何行。