C# 如何从记录的总计数中获取记录的单位计数

C# 如何从记录的总计数中获取记录的单位计数,c#,C#,我在aspx页面上有一个gridview。我是按单元过滤的,例如:单元1、单元2等等。默认情况下,当页面打开时,我会获得数据库中记录的总数: protected void sdsTACStudents_Selected(object sender, SqlDataSourceStatusEventArgs e) { if (txtSearchByName.Text == "") { int rowCo

我在aspx页面上有一个gridview。我是按单元过滤的,例如:单元1、单元2等等。默认情况下,当页面打开时,我会获得数据库中记录的总数:

protected void sdsTACStudents_Selected(object sender, SqlDataSourceStatusEventArgs e)
        {
            if (txtSearchByName.Text == "")
            {
                int rowCount = e.AffectedRows;
                txtRecordCount.Text = rowCount.ToString();
            }
        }
But if ddlSearchBy.Text == "Last Name, "First Name" or "ssn", I need to display the current units count:
protected void sdsTACStudents_Selected(object sender, SqlDataSourceStatusEventArgs e)
        {
            if (txtSearchByName.Text == "")
            {
                int rowCount = e.AffectedRows;
                txtRecordCount.Text = rowCount.ToString();
            }
            else if ((ddlSearchBy.Text == "Last Name") || (ddlSearchBy.Text == "First Name") || (ddlSearchBy.Text == "SSN"))
            {
                display the current unit count which is less than the total count of all units.
            }
        }

我是否需要使用存储过程来获取单元中的人数?

您的问题的答案是肯定的。您需要一个存储过程或参数化查询,它可以接受这些参数中的任何一个(姓、名或SSN),并返回与条件匹配的行数

一个例子是:

SELECT COUNT(*) as NUM_RECORDS FROM YOUR_TABLE 
WHERE FirstName LIKE '%'+@FirstName+'%'; -- assuming you only want to do partial matching

创建存储过程还是简单地创建参数化查询取决于您,但这是一般的想法

你的问题的答案是肯定的。您需要一个存储过程或参数化查询,它可以接受这些参数中的任何一个(姓、名或SSN),并返回与条件匹配的行数

一个例子是:

SELECT COUNT(*) as NUM_RECORDS FROM YOUR_TABLE 
WHERE FirstName LIKE '%'+@FirstName+'%'; -- assuming you only want to do partial matching
创建存储过程还是简单地创建参数化查询取决于您,但这是一般的想法