c#将SQL Select查询存储到变量中

本文关键字:变量 存储 查询 SQL Select | 更新日期: 2023-09-27 18:14:03

我使用VS2005 c#和SQL Server 2005。

我有一个SQL查询,我将执行,我希望存储我将从查询得到的结果。

下面是我的SQL查询:
SELECT DISTINCT EmployeeID FROM UserRoles WHERE ([Status] = 'DELETED')

返回一个状态为'DELETED'的员工id列表。我可以通过GridView查看它,它显示得很好。

但是我想要的是使用这个结果(list of emp ID whose status='DELETED'),并通过另一个表运行,看看是否存在相同的emp ID在另一个表中,如果是,将其存储在另一个DB或列表中。

我真的不知道如何存储从我的选择语句的结果,这是一个列表的emp id,其status='DELETED'到字符串或数组。在我设法存储它之后,我如何一次获得一个空ID并通过另一个表运行?

我需要有经验的人帮忙。

c#将SQL Select查询存储到变量中

如何运行另一个查询:

SELECT DISTINCT UserRoles.EmployeeID FROM UserRoles 
INNER JOIN OtherTable ON OtherTable.EmployeeID = UserRoles.EmployeeID 
WHERE (UserRoles.[Status] = 'DELETED')

应返回已删除且存在于OtherTable中的所有雇员。

这实际上取决于您如何从数据库读取这个员工id列表。我将假设您使用SqlDataAdapter读取它,它填充DataSet或DataTable,然后将其绑定到网格:

List employeeIDs = new List();//dataTable是绑定到网格的数据表查询dataTable.Rows中的数据行{employeeIDs.Add (int.Parse(行[0].ToString ());}

  List<int> query =
  (from eid in dataTable.AsEnumerable()
  select eid.Field<int>("EmployeeID")).ToList();

如果使用SqlDataSource....

DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
List<int> query =
(from eid in dv.ToTable().AsEnumerable()
select eid.Field<int>("EmployeeID")).ToList();