我有以下 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());
}
关于c# - 将 SqlDataSource 转换为 DataTable 和 DataView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452763/