Как написать код, в котором строки некоторого столбца не являются фиксированными?

#c# #.net #asp.net #visual-studio

#c# #.net #asp.net #visual-studio

Вопрос:

Я застрял в довольно плохой ситуации. У меня есть столбцы db, такие как упомянутые ниже;

 *  Season Name     People died (in US UK Asia)*
    Winter           98
    Fall             14
    Rainy            148
    Other            07
  

Теперь, если нет людей, которые умерли в какой-либо сезон (скажем, осенний сезон), тогда строка, показывающая осенний сезон, опускается. Следовательно, SP теперь возвращает данные примерно так;

 *    Season Name     People died (in US UK Asia)*
     Winter           98
     Rainy            148
     Other            07
  

Проблема: мне нужно присвоить значения (второй столбец) переменным. Я извлекаю результат SP в dataset. Но я не знаю, как найти значения, которые не пропущены (зимние, дождливые, другие, как показано выше), и присвоить их соответствующим переменным. В этом случае переменной для осеннего сезона будет присвоено значение 0.

Дайте мне знать, если есть какой-либо запрос.

пожалуйста, помогите !.

С уважением

Комментарии:

1. есть ли времена года в другой таблице?

2. краткий комментарий. Спасибо! Не могу понять комментарий.

3. Можете ли вы показать запрос для внутренней части вашего SP. Вам нужно будет изменить его, чтобы использовать либо подвыбор другого типа соединения.

4. у вас нет доступа к БД. Нужно посмотреть, можно ли получить разрешение на доступ к тому же

5. Знаете ли вы заранее, что вы можете ожидать найти в первом столбце? Или вы просто берете то, что получаете?

Ответ №1:

Здесь у вас есть несколько вариантов, но если у вас нет доступа к базе данных (а из комментариев выше, похоже, у вас его нет):

  1. Найдите запрос, в котором перечислены все возможные сезоны. Используйте этот запрос для создания экземпляра класса, который объединяет времена года и смерти, а затем добавляет каждый экземпляр в какой-то перечислимый. Используйте это перечисляемое для заполнения вашей веб-страницы.
  2. Поговорите с администратором базы данных или кем-то из вашей команды DB. Я беру удар в темноте, но похоже, что в вашей базе данных сезоны перечислены в одной таблице, а количество смертей за сезон указано в другой таблице. Если я прав, то тот, кто написал этот запрос, выполнил INNER JOIN от сезонов до смертей за сезон вместо LEFT JOIN того, чтобы вводить сезоны до смертей за сезон, что возвращало бы все сезоны независимо от того, есть ли у них какие-либо смерти.

Вы также можете добавить каждый сезон, о котором вы знаете, в a const string[] , но это сложная задача, чтобы обойти тот факт, что у вас нет простого доступа к базе данных. Если вы сталкиваетесь с большим сопротивлением по этой теме, попробуйте объяснить, что вам нужно отобразить все эти сезоны для пользователя и что вам нужно обновить хранимую процедуру.

Удачи!