powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранимая процедура возвращающая разнотипные данные
8 сообщений из 8, страница 1 из 1
Хранимая процедура возвращающая разнотипные данные
    #33911429
LexRema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
SELECT
    adv_id AS adv_id,
    name AS name,
    percents AS percents,
    download_number AS download_number,
    user_rating AS user_rating,
    rating AS rating
FROM
    #temp
WHERE
    id > @start_id

SELECT count(*) AS total_count FROM #temp

GO
Привет. Вот хранимая процедура, результатом которой есть несколько значений. Куда ее можна прочитать (в какой контрол) и как потом из этого контрола достать. Спасибо.
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33911614
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно в датасет - будет 2 таблицы. А можно ридером - читаем первый рекордсет, потом делаем NextResult() и читаем вторую.

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33912474
kon_v_palto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, LexRema, Вы писали:


CREATE PROCEDURE GetBlaBlaBla(@c int OUTPUT)
...
SELECT
    adv_id AS adv_id,
    name AS name,
    percents AS percents,
    download_number AS download_number,
    user_rating AS user_rating,
    rating AS rating
FROM
    #temp
WHERE
    id > @start_id

SET @c = (SELECT count(*) FROM #temp)

go
А если процедуру переписать вот так, будет меньше гемороя.
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33913243
LexRema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, kon_v_palto, Вы писали:


__>А если процедуру переписать вот так, будет меньше гемороя.

неа... Дело в том, что перед этим создаеться временная таблица. Поэтому каждый раз создавать временную таблицу для одних и тех же данных — не совсем то, что надо.
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33913264
LexRema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот теперь новый вопрос.

public DataSet StorProc_GetAdminAdvList(string game_id,int curPageIndex, int filter,string sortingKey,string sortingOrder)
        {
            # region "check/set params"            
            if (sortingKey==""){
                sortingKey = " dateUpload ";            
            }
            if (sortingOrder=="")
            {
                sortingOrder=" ASC ";
            }
            sortingKey+=sortingOrder;
            string strFilter="";
            if (filter!=-1){
                strFilter=" AND verificationLevel = "+filter.ToString()+" ";
            }
            #endregion            
            SqlCommand command = new SqlCommand("GetAdminLevelList",m_Connection);            
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("@game_id", SqlDbType.NVarChar));
            command.Parameters["@game_id"].Value = game_id;                        
            command.Parameters.Add(new SqlParameter("@strFilter", SqlDbType.NVarChar));
            command.Parameters["@strFilter"].Value = strFilter;
            command.Parameters.Add(new SqlParameter("@itemsPerPage", SqlDbType.Int));
            command.Parameters["@itemsPerPage"].Value = Convert.ToInt32(ConfigurationSettings.AppSettings["itemsPerPage"]);            
            command.Parameters.Add(new SqlParameter("@curPageNumber", SqlDbType.Int));
            command.Parameters["@curPageNumber"].Value = curPageIndex;
            command.Parameters.Add(new SqlParameter("@sortingKey", SqlDbType.NVarChar));
            command.Parameters["@sortingKey"].Value = sortingKey;
            this.OpenConnection();
            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds=new DataSet();
            da.Fill(ds);                        
            return ds;
        }
----------------------------

DataSet ds = dbEngine.StorProc_GetAdminAdvList((string)ViewState["game_id"], (int)ViewState["iCurPage"],filter,(string)ViewState["sorting_key"],(string)ViewState["sorting_order"]);
Проблема:

Exception Details: System.InvalidCastException: Specified cast is not valid.
Line: 78 

Source Error: 


Line 76:             iNumberOfPages = GetNumberOfPages();
Line 77:             int filter = GetFilterInfo();            
Line 78:             DataSet ds = dbEngine.StorProc_GetAdminAdvList((string)ViewState["game_id"], (int)ViewState["iCurPage"],filter,(string)ViewState["sorting_key"],(string)ViewState["sorting_order"]);
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33913360
kon_v_palto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорей всего ViewState["iCurPage"] не определенно, если ты допускаеш NULL на сервере, используй int? вместо int.
неа... Дело в том, что перед этим создаеться временная таблица. Поэтому каждый раз создавать временную таблицу для одних и тех же данных — не совсем то, что надо.В чем проблема, я не предлагал разбить процедуру на две, все по прежнему делай в одной, только возвращай кол-во через OUTPUT параметр, а не селектом, или в твоих ... есть еще селекты.
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33913451
LexRema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, kon_v_palto, Вы писали:


__>В чем проблема, я не предлагал разбить процедуру на две, все по прежнему делай в одной, только возвращай кол-во через OUTPUT параметр, а не селектом, или в твоих ... есть еще селекты.
Да ... есть :)

Действительно... Поспешил я с этим вопросом. Все было корректно, только я не ожидал, что после того, как сделаю вот так:

       ViewState["game_id"] = Convert.ToInt32(strGame_id);
команда

       (string)ViewState["game_id"]
не сработает.Моя ошибка
...
Рейтинг: 0 / 0
Хранимая процедура возвращающая разнотипные данные
    #33929532
LexRema
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет
можна в МС СКЛ визвать процедуру2 из процедуры1 і в процедуру1 получить результат процедуры2 ?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хранимая процедура возвращающая разнотипные данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]