Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将3组数据放入asp.net_C#_Sql_Asp.net_Adaptor - Fatal编程技术网

C# 如何将3组数据放入asp.net

C# 如何将3组数据放入asp.net,c#,sql,asp.net,adaptor,C#,Sql,Asp.net,Adaptor,我在为我正在进行的项目输入数据时遇到了困难。我有三个gridview,我想用一个查询中的三组数据填充它们。下面的代码只生成三个网格;他们都在复制第三套 我要做的是得到第一组并将其放入第一个网格,得到第二组并将其放入第二个网格,第三组放入第三个网格 我不知道为什么它只检索最后一组。我认为这与适配器方法有关 public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender,

我在为我正在进行的项目输入数据时遇到了困难。我有三个
gridview
,我想用一个查询中的三组数据填充它们。下面的代码只生成三个网格;他们都在复制第三套

我要做的是得到第一组并将其放入第一个网格,得到第二组并将其放入第二个网格,第三组放入第三个网格

我不知道为什么它只检索最后一组。我认为这与适配器方法有关

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataTable dt2 = new DataTable();
        DataTable dt3 = new DataTable();
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISALog1ConnectionString"].ToString());
        SqlCommand cmd = new SqlCommand("exec ProxyReport", conn);
        cmd.CommandTimeout = 200;
        SqlDataAdapter ad = new SqlDataAdapter(cmd);
        ad.Fill(dt);
        ad.Fill(dt2);
        ad.Fill(dt3);

        GridView1.DataSource = dt;
        GridView1.DataBind();
        GridView2.DataSource = dt2;
        GridView2.DataBind();
        GridView3.DataSource = dt3;
        GridView3.DataBind();
    }
}
这是它得到的,它得到了底部的最后一组,并将其复制了3次。我理解代码做了同样的事情,这就是为什么它重复,但为什么第三组,而不是第一个或中间的一个?如何使第一个网格具有第一个集合,第二个网格具有第二个集合


尝试使用dataset,并从dataset获取datatable

DataSet dataSet = new DataSet();
SqlDataAdapter ad = new SqlDataAdapter(cmd);
        ad.Fill(dataSet);

        GridView1.DataSource = dataset.Tables[0];
        GridView1.DataBind();
        GridView2.DataSource = dataset.Tables[1];
        GridView2.DataBind();
        GridView3.DataSource = dataset.Tables[2];
        GridView3.DataBind();

因为ad.Fill(dt3);您填写Adapter的最后一条语句是您的查询没有更改还是我遗漏了什么?您正在使用相同的存储过程“ProxyReport”(ad)填充所有3条语句是的,它没有更改。本来应该是这样的,但我不知道为什么它会在第三盘开局,而不是从第一盘开始开局?填充dt3等只是对象名。我知道它将数据放入datatable(dt)和其他2。是适配器导致它只拉第三个数据集,而不是第一个或第二个数据集吗?sql中的proxyreport,代码生成一个循环,生成3个数据集。好的,我上面发布的代码,它的格式都正确对齐。但是当我换成数据适配器时,它把格式弄乱了。我不知道这是怎么回事。。