c# - 将 SqlDataSource 转换为 DataTable 和 DataView

标签 c# asp.net sql

我有以下 SqlDataSource,我想将它转换为 DataView 并从中读取一列:

SELECT     
    dbo.Divisions.DivisionShortcut, 
    COUNT(DISTINCT dbo.UserQuiz.Username) AS [Number of Participants]
FROM         
    dbo.Divisions 
INNER JOIN
    dbo.employee ON dbo.Divisions.SapCode = dbo.employee.DivisionCode 
INNER JOIN
    dbo.UserQuiz ON dbo.employee.Username = dbo.UserQuiz.Username 
INNER JOIN
    dbo.Quiz ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID
WHERE     
    (dbo.Quiz.QuizID = @QuizID)
GROUP BY 
    dbo.Divisions.DivisionShortcut

SqlDataSource 让用户输入测验的编号,然后它将检索该测验的参与者总数。我想将此 SqlDataSource 转换为 DataTable 并从中读取一列。

那么怎么做呢?

最佳答案

假设您有一个名为 SqlDataSource1 的 SqlDataSource

DataSourceSelectArguments args = new DataSourceSelectArguments();
DataView view = (DataView)SqlDataSource1.Select(args);
DataTable dt = view.ToTable();

现在您可以轻松地从此 dt(DataTable) 中读取列,例如

int columnNumber = 0;
for(int i=0;i<dt.Rows.Count;i++)
{
    MessageBox.Show(dt.Rows[i][columnNumber].ToString());
}

Reference

关于c# - 将 SqlDataSource 转换为 DataTable 和 DataView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452763/

相关文章:

c# - 指定向 ServiceStack 发送一个参数作为查询参数

c# - 为什么在创建哈希时要将文本转换为字节

c# - c#中共享文件夹连接过多问题

javascript - 如何更改 Bootstrap 本地化?

c# - 从您在C#中嵌入的URL中提取缩略图

c# - 只选择一个时间间隔内的第一条记录

c# - 使用任意数字

c# - 将值插入选定列的问题

sql - 在部署时将大量数据导入 SQL Server (Express) 数据库

sql - 插入 HANA 表并指定列