Я прошел через очень много уроков, и я просто не могу понять это правильно. Я пытаюсь заполнить сетку на основе результатов хранимой процедуры. Я, наверное, до сих пор слеп, но я действительно пытался убедиться, что я ничего не испортил.
Это хранимая процедура:
ALTER PROCEDURE dbo.GetAllPlayersFromGame
(
@gameID int
)AS
/* SELECT all the players within a game */
SELECT playerName FROM Player WHERE gameID = @gameID
Это код, который я использую для создания таблицы данных, которую затем использую в качестве источника данных для вида сетки:
public static DataTable PopulateGridView(string resultSetQuery)
{
//Populate gridview
OpenConnection();
SqlCommand sqlCommand = new SqlCommand(resultSetQuery, _sqlConnection);
SqlDataReader reader = sqlCommand.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);
return dataTable;
}
И это метод, который вызывает все и должен заполнять сетку:
protected void ShowPlayersInGame()
{
GridViewShowPlayersInGame.DataSource = CreateDatabaseConnection.PopulateGridView("EXEC GetAllPlayersFromGame " + _gameId);
GridViewShowPlayersInGame.DataBind();
}
Когда я отлаживаю, я вижу все данные в объекте чтения, поэтому хранимая процедура работает. Но что-то происходит, когда он попадает в ShowPlayersInGame, потому что gridview не будет принимать данные. Я, вероятно, пропустил что-то элементарное, так как раньше не очень часто использовал gridviews.
Есть идеи?