#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:
Здесь у вас есть несколько вариантов, но если у вас нет доступа к базе данных (а из комментариев выше, похоже, у вас его нет):
- Найдите запрос, в котором перечислены все возможные сезоны. Используйте этот запрос для создания экземпляра класса, который объединяет времена года и смерти, а затем добавляет каждый экземпляр в какой-то перечислимый. Используйте это перечисляемое для заполнения вашей веб-страницы.
- Поговорите с администратором базы данных или кем-то из вашей команды DB. Я беру удар в темноте, но похоже, что в вашей базе данных сезоны перечислены в одной таблице, а количество смертей за сезон указано в другой таблице. Если я прав, то тот, кто написал этот запрос, выполнил
INNER JOIN
от сезонов до смертей за сезон вместоLEFT JOIN
того, чтобы вводить сезоны до смертей за сезон, что возвращало бы все сезоны независимо от того, есть ли у них какие-либо смерти.
Вы также можете добавить каждый сезон, о котором вы знаете, в a const string[]
, но это сложная задача, чтобы обойти тот факт, что у вас нет простого доступа к базе данных. Если вы сталкиваетесь с большим сопротивлением по этой теме, попробуйте объяснить, что вам нужно отобразить все эти сезоны для пользователя и что вам нужно обновить хранимую процедуру.
Удачи!