GridView не загружает схему из хранимой процедуры SQL - PullRequest
1 голос
/ 15 июля 2011

У меня есть gridview, когда я подключаю sqldatasource и запускаю приложение, отображаются данные из хранимой процедуры, но когда я переключаюсь в режим разработки, схема не загружается в gridview.Мне нужна эта схема для перестановки столбцов и для целей форматирования.

У меня никогда не было этой проблемы раньше, вдруг это проблема.

Что я пробовал до сих пор «Обновить схему» вызывает диалог, в котором перечислены все параметры, которые я передаю хранимой процедуре.После того, как я изменил DBType для каждого параметра, он по-прежнему выдает сообщение об ошибке: «Проверьте ваше соединение и сохраненную процедуру».Пока сохраненная процедура выполняется, не должна ли она автоматически обновлять схему в gridview.У меня все еще есть 3 столбца gridview по умолчанию.

Примечание: я могу обойти проблему, добавив каждый столбец вручную, но я делаю это, чтобы исправить проблему на странице, во-первых, не хочу запускатьопять в gridview проблема.Это новая страница, которую я создаю.Спасибо

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Похоже, что схема не обновляется только из StoredProcedure, потому что просто недостаточно информации о том, сколько столбцов будет возвращено.

Чтобы обойти эту проблему и быстро исправить ее, выполните следующие действия.

Скопируйте запрос из хранимой процедуры и измените источник SQLDatasource из хранимой процедуры на оператор Select.Запустите ваш выбор оператора и закончите.Обратите внимание, что теперь ваша схема будет обновлена.

Теперь вы можете вернуть SQLDataSource к хранимой процедуре, и схема останется прежней.


Мне также пришло в голову, что когда выпри выполнении хранимой процедуры имена столбцов в запросе обновляются с использованием имени 'Databound col0' 'Databound Col1' и т. д.

Я не уверен, что когда-нибудь это произойдет, а иногда нет.Щелкните правой кнопкой мыши Gridview и выберите Referesh. Схема не работает, так как выдает ошибку.

0 голосов
/ 13 ноября 2015

Вдобавок к @hmd, когда не хватает информации, особенно если возвращается другой воспринимаемый набор данных, т.е. вы делаете что-то, что возвращает пустые или отладочные данные (затронутые строки и т. Д.)Обходной путь для этого состоит в том, чтобы установить «SET NOCOUNT OFF» в начале вашей процедуры, а затем снова установить его «ON», прежде чем вы вернете данные.Это также проблема для SSRS.

...