Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
... 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 Привет. Вот хранимая процедура, результатом которой есть несколько значений. Куда ее можна прочитать (в какой контрол) и как потом из этого контрола достать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 18:06 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Можно в датасет - будет 2 таблицы. А можно ридером - читаем первый рекордсет, потом делаем NextResult() и читаем вторую. Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2006, 19:53 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, 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 А если процедуру переписать вот так, будет меньше гемороя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 11:03 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, kon_v_palto, Вы писали: __>А если процедуру переписать вот так, будет меньше гемороя. неа... Дело в том, что перед этим создаеться временная таблица. Поэтому каждый раз создавать временную таблицу для одних и тех же данных — не совсем то, что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 13:57 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Вот теперь новый вопрос. 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"]); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 14:01 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Скорей всего ViewState["iCurPage"] не определенно, если ты допускаеш NULL на сервере, используй int? вместо int. неа... Дело в том, что перед этим создаеться временная таблица. Поэтому каждый раз создавать временную таблицу для одних и тех же данных — не совсем то, что надо.В чем проблема, я не предлагал разбить процедуру на две, все по прежнему делай в одной, только возвращай кол-во через OUTPUT параметр, а не селектом, или в твоих ... есть еще селекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 14:25 |
|
||
|
Хранимая процедура возвращающая разнотипные данные
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, kon_v_palto, Вы писали: __>В чем проблема, я не предлагал разбить процедуру на две, все по прежнему делай в одной, только возвращай кол-во через OUTPUT параметр, а не селектом, или в твоих ... есть еще селекты. Да ... есть :) Действительно... Поспешил я с этим вопросом. Все было корректно, только я не ожидал, что после того, как сделаю вот так: ViewState["game_id"] = Convert.ToInt32(strGame_id); команда (string)ViewState["game_id"] не сработает.Моя ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2006, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33911429&tid=1390450]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 343ms |

| 0 / 0 |
