powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вернуть значения переменных из SQL запроса
15 сообщений из 15, страница 1 из 1
Вернуть значения переменных из SQL запроса
    #39601327
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги!

Возникла насущная необходимость запускать скрипт из .Net приложения и получать данные из переменных скрипта.
Привожу пример, который работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
scriptText = "USE [WowDB]; " + 
" DECLARE @result int = 0;  " + 
" SELECT @result = COUNT(*) FROM [dbo].[colRuns];  " + 
" SELECT @result as [Result];";  

            using (SqlConnection con = new SqlConnection(SQLConnectionString))
            {
                int getCount = 0;

                using (SqlCommand cmd = new SqlCommand(scriptText, con))
                {
                    con.Open();
                    getCount = (int)cmd.ExecuteScalar();

                    if (con.State == System.Data.ConnectionState.Open) con.Close();

                }
            }



Все работает и я получаю в переменную getCount значение @result.
НО вопрос вот в чем:
Как оформить код в .Net, чтобы получать значения напрямую из переменных SQL?
Такой себе аналог EXECUTE sp_executesql
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601342
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser, как и вызов любой другой процедуры с out параметрами. https://msdn.microsoft.com/ru-ru/library/59x02y99(v=vs.71).aspx
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601345
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и скрипт должен быть адаптирован для этого действа
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601426
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserRegisteredUser, как и вызов любой другой процедуры с out параметрами. https://msdn.microsoft.com/ru-ru/library/59x02y99(v=vs.71).aspx

в том то и прикол, что процедуру вызывать НЕТ возможности.
скрипт составляется динамически из логики .Net приложения.
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601429
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак оформить код в .Net, чтобы получать значения напрямую из переменных SQL?

В смысле "напрямую"? Разверни мысль.
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601434
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthatавторКак оформить код в .Net, чтобы получать значения напрямую из переменных SQL?

В смысле "напрямую"? Разверни мысль.

допустим есть такой скрипт

Код: c#
1.
2.
3.
4.
5.
scriptText = "USE [WowDB]; " + 
" DECLARE @result int = 0, @i int = 0;  " + 
" SELECT @result = COUNT(*) FROM [dbo].[colRuns];  " + 
" ........... ";  
" SELECT @i = 120;";  



Как в .Net прикладухе получить значения @result и @i ?
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601437
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,
'
...
select @result, @i
'

+ ExecuteReader
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601439
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,
А зачем такие извращения?
Это анализатор
RegisteredUserнасущная необходимостьимхо Г.кодом пахнет.
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601638
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123RegisteredUser,
А зачем такие извращения?
Это анализатор
RegisteredUserнасущная необходимостьимхо Г.кодом пахнет.

есть прикладухи, которые надо поддерживать и которые нельзя переписать заново, в силу разных причин.
лет 5-7 назад кто-то написал такой код - его нужно обновить, не ломая все остальное.
думаю, что еще лет через 6, кто-то взглянув на любой "древний код" учует запах разложения.
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601639
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79RegisteredUser,
'
...
select @result, @i
'

+ ExecuteReader

спасибо! так и придется делать.
просто думал, что есть что-то иное.
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601666
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUser,
)
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601688
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если из сгенеренного кода убрать определение переменных, которые требуется получить, то эти переменные будут обычными out-параметрами:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
using (var cnn = new SqlConnection("Data Source=.;Initial Catalog=master;Integrated Security=True"))
using(var cmd = new SqlCommand(@"
  USE [master];
  -- DECLARE @result int = 0, @i int = 0;
  SELECT @result = COUNT(*) FROM [sys].[objects];
  SELECT @i = 120;
", cnn))
{
  cnn.Open();
  var result = new SqlParameter("@result", SqlDbType.Int) {Direction = ParameterDirection.Output};
  cmd.Parameters.Add(result);
  var i = new SqlParameter("@i", SqlDbType.Int) {Direction = ParameterDirection.Output};
  cmd.Parameters.Add(i);
  cmd.ExecuteNonQuery();
  Console.WriteLine(result.Value);
  Console.WriteLine(i.Value);
}


Вывод:

Код: plaintext
1.
100
120
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601886
RegisteredUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны,

ШИКАРНО! это и нужно было))))
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39601948
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegisteredUserэто и нужно было))))нужно было что, написать готовый код?

Этот ответ ведь был дан ранее 21188703
...
Рейтинг: 0 / 0
Вернуть значения переменных из SQL запроса
    #39602010
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shocker.ProЭтот ответ ведь был дан ранее 21188703
+1. Его надо было просто понять
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вернуть значения переменных из SQL запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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