Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
Господа! Я сделал простейший проект в Web Developer 2005: на Web Form положил GridView и SqlDataSource. В SqlDataSource прописал ConnectString для подключения к БД, написал Select и великолепно получаю эти данные в GridView. Но у меня теперь возникла необходимость выполнить команду в БД, а для этого мне надо знать SqlConnection. Откуда я могу его получить? Из SqlDataSource могу? У меня ведь уже есть соединение, значит, какой-то объект имеет ссылку на SqlConnection? Help! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 17:22 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
хе-хе... а ты не заглядывал в web.config??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 17:56 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
vladgrigхе-хе... а ты не заглядывал в web.config???Да, заглядывал. Но как я могу получить объект класса SqlConnection? Мне в SqlCommand надо прописать именно SqlConnection, а не ConnectString. Я предполагаю, что, раз я уже имею подключение к серверу, у меня где-то есть объект SqlConnection, как раз основанный на ConnectString... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 18:11 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
во первых не надо стрессовать ;) во-вторых команду можешь создавать новую и присваивать её предположим тому же SqlDataSource который уже существует на странице - и будет тебе счастье... P.S. кстати, если не сможешь осуществить написанное выше - то создавай новый коннект на основе строки из web.config - ничего страшного от этого не произойдёт ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 18:42 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
vladgrigкоманду можешь создавать новую и присваивать её предположим тому же SqlDataSource который уже существует на страницеА разве может SqlDataSource выполнять команды (процедуры)? Мне казалось, что он только возвращает/изменяет данные... vladgrigсоздавай новый коннект на основе строки из web.configА мне-то как раз и нужно, чтобы команда была выпонена в той же сессии, в которой работает SqlDataSource ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 09:50 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
авторА разве может SqlDataSource выполнять команды (процедуры)? с трудом продираясь сквозь пелену тумана, я пытаюсь догадаться что речь идёт о ХП (хранимые процедуры)... ;) если я угадал, то вот мой ответ - ДА!!! авторА мне-то как раз и нужно, чтобы команда была выпонена в той же сессии, в которой работает SqlDataSource здесь я застреваю между трёх сосен и, стою задумавшись: "с какого боку здесь сессия, SqlDataSource и ХП? Как они связаны между собой?" P.S. пока ты не развеешь туман я не увижу горизонт и несмогу дать ответ на интересующие тебя вопросы... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 11:42 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
Попытаюсь сформулировать :) Мне надо в одной сесии базы данных запустить сначала хранимую процедуру (ты угадал ) , а потом, используя SqlDataSource, получить данные. Я нашел, что ХП может быть запущена объектом типа SqlCommand, но там подключение задается не строкой, а объектом типа SqlConnection. Я, правда, сам могу создать SqlConnection на базе строки ConnectString, но мне кажется, что это будет уже другая сессия, а мне нужна та же самая 1. Мне казалось, что SqlDataSource не может выполнять хранимые процедуры (по-моему, там нет никакого метода типа Exec). Если может, то не мог бы ты подсказать, как именно. 2. Если у меня есть 2 или 3 SqlDataSource с одинаковой ConnectString, то создаюся ли 2/3 разные сессии для каждого SqlDataSource или все работает с одним реальным подключением к БД? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 12:30 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
автор Мне казалось, что SqlDataSource не может выполнять хранимые процедуры (по-моему, там нет никакого метода типа Exec). Если может, то не мог бы ты подсказать, как именно. Не вижу твоей задачи, но например в команде селект сурса задаётся имя ХП и потом идёт указание на то что тип команды storedProcedure. Вот тебе и будет выполняться ХП при селекте в SqlDataSource. автор Если у меня есть 2 или 3 SqlDataSource с одинаковой ConnectString, то создаюся ли 2/3 разные сессии для каждого SqlDataSource или все работает с одним реальным подключением к БД? под сессией в данном случае ты понимаешь три разных (одновременных) коннекта к БД? если так, то что то мне подсказывает, что если будет использована одинаковая строка подключения к БД (в плоть до запятой), то перед созданием нового подключения ASP.NET поищет нет ли уже открытого подключения с такой строкой и, если оно есть, то будет использовать его - название этой беды POOLING . P.S. да простят меня и исправят гуру этого форума, если я неправ ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 13:15 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
vladgrig, я не гуру, но согласен с тобой насчёт пулинга. Wolfon Stromboy, я не работал с VS2005, но сессия всегда одна вне зависимости от количества SqlDataSource. Наверное путаются понятия сессия с количеством подсоединений к БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 13:29 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
vladgrigНе вижу твоей задачиУ меня задача: вызвать ХП с параметрами, которая заполнит временную таблицу и потом SqlDataSource покажет эти данные в GridView. Всем спасибо за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 15:25 |
|
||
|
SqlConnection в ASP.NET
|
|||
|---|---|---|---|
|
#18+
авторУ меня задача: вызвать ХП с параметрами, которая заполнит временную таблицу и потом SqlDataSource покажет эти данные в GridView. так и беды в этом нет и страдать нечего... просто нужно правильно писать ХП... в этой ХП делаешь выборку в темповую таблицу и там же выбираешь данные из темповой таблицы... задача то тривиальная - одной ХП всё и делается... к чему заморочки с дополнительными командами и сурсами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2006, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33779547&tid=1392368]: |
0ms |
get settings: |
4ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
85ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 361ms |

| 0 / 0 |
