По-моему, отбросьте идею использования DataAdapter, это совершенно не нужно. Сделайте это, чтобы получить DataTable вместо:
using(SqlConnection con = new SqlConnection("Conectionstring"))
{
con.Open();
using (SqlCommand commnand= new SqlCommand("StoredProcName",con))
{
command.CommandType=CommandType.StoredProcedure;
SqlDataReader reader = command.ExecuteReader();
DataTable table = new DataTable();
table.Load(reader);
return table;
}
}
Теперь не имеет значения, сколько столбцов вы возвращаете из процедуры, таблица данных будет содержать все из них.
РЕДАКТИРОВАТЬ: Добавьте следующий раздел в ваш файл Web.config ниже раздела <configuration>
, заменив фактическую строку подключения вашей. Вы должны быть в состоянии скопировать это из файла Ваших настроек.
А теперь создайте свое SqlConnection следующим образом:
SqlConnection con
= new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
Обратите внимание, что "ConnectionString" является атрибутом имени строки подключения в Web.Config.
См. Другой пример здесь, на случай, если не очень ясно.