2017-07-06 127 views
1

我在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. 
      } 
     } 

我需要使用存储过程得到的人在单位是多少?

回答

0

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

一个例子是:

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

这取决于你是否创建一个存储过程或简单地创建一个参数化查询,但这是一般的想法。