Converti SqlDataSource in DataTable e DataView

Ho il seguente SqlDataSource e voglio convertirlo in DataView e leggere una colonna da esso:

 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 

Questo SqlDataSource consente all’utente di immettere il numero del quiz e recupererà il numero totale di partecipanti a quel quiz. Voglio convertire questo SqlDataSource a un DataTable e leggere una colonna da esso.

Quindi come farlo?

Lasciatemi dire che hai una SqlDataSource chiamata SqlDataSource1

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

Ora puoi leggere facilmente una colonna da questo dt (DataTable) es

 int columnNumber = 0; for(int i=0;i 

Riferimento

SqlDataSource ha un metodo Select che è ansible chiamare per recuperare un DataView da SqlDataSource; vedere la documentazione MSDN al riguardo .

 SqlDataSource dataSource = new SqlDataSource(connectionString, selectSql); DataView view = (DataView)dataSource.Select(args); DataTable table = view.ToTable(); 

E ‘quello che stai cercando ??