如何使用count并在使用union时选择all并将count显示到标签中

问题描述 投票:0回答:1

我想请求帮助。我使用union all where where condition,我的查询将显示在datagridview中。我的问题是,有没有办法计算它将生成的行,并在datagridview下面的标签或文本框中显示计数?这是我的代码:

string query = @"Select * FROM
                    (
                        SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
                        b.pk+ ', '+b.by+', '+b.my AS Address, b.sex,
                        'PoNa' AS [Transaction] FROM dbo.POST AS a INNER JOIN
                        [dbo].PERCORD AS b ON b.idp = a.idp

                        UNION ALL
                        SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
                        b.pk+ ', '+b.by+', '+b.my AS Address, b.sex,
                        'PreNa' AS [Transaction] FROM dbo.PRENA AS a INNER JOIN
                        [dbo].PERCORD AS b ON b.idp = a.idp

                        UNION ALL
                        SELECT date AS [Date],b.fname+' '+b.mname+' '+b.lname AS Person,
                        b.pk+ ', '+b.by+', '+b.mty AS Address, b.sex AS Sex,
                        'Check' AS [Transaction] FROM dbo.CHECK AS a INNER JOIN
                        [dbo].PERCORD AS b ON b.idp = a.idp
                    )
                        as T where date between '" + fromdt.Value.ToString() + "' and '" + todt.Value.ToString() + "' and [Transaction] = '" + ttypecb.Text + "'";

                using (SqlConnection xcon = new SqlConnection(@"Server=QWERTY\SQLEXPRESS;Database=QWERTY;Integrated Security=SSPI;"))
                {
                    using (SqlCommand xcom = new SqlCommand(query, xcon))
                    {
                        SqlDataAdapter xdapter = new SqlDataAdapter(xcom);
                        try
                        {
                            xcon.Open();
                            DataTable xlist = new DataTable();
                            xdapter.Fill(xlist);
                            trans.DataSource = xlist;

                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        finally
                        {
                            xcon.Close();
                        }
                    }
                }
            } 
c# sql select count union-all
1个回答
0
投票

我的问题是,有没有办法计算它将生成的行,并在datagridview下面的标签或文本框中显示计数?这是我的代码

一旦你调用DataTable方法,Fill就会包含所有行。所以你可以使用slist.Rows.Count来获取这些信息。

我不相信有任何地方DataGridView自动显示总行数。您可以使用您选择的任何Control显示它。如果有帮助,您可以在DataGridView中使用行号

© www.soinside.com 2019 - 2024. All rights reserved.