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并通过另一个表运行?
我需要有经验的人帮忙。
如何运行另一个查询:
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();