0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 53
1

Оптимальный алгоритм для вызова хранимых процедур с разными аргументами для отчетов

26.07.2016, 18:03. Показов 1068. Ответов 1
Метки нет (Все метки)

Есть база данных, в ней расположены хранимые процедуры с входящими параметрами
Требуется разработать клиент-приложение, которая будет генерировать отчеты на основе каждой процедуры.
Единственный нюанс, что у каждой процедуры свои уникальные параметры.
Ищу самый выгодный алгоритм!

C# + MSSQL + DEVEXPRESS
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2016, 18:03
Ответы с готовыми решениями:

Как сделать меню вызова различных хранимых процедур?
Уже 3-ю неделю мучаюсь не могу вызвать хранимую процедуру из хранимой процедуры. Как возможно...

Источники для обучения написания хранимых процедур.
Мне очень нужно научиться писать хранимые процедуры для MS SQLSERVER. Пожалуйста, подскажите...

Создание хранимых процедур для Ms Sql Server 2008 r2
Дайте ссылки на материал, или вкраце изложите как написать хранимые процедуры. Не могу понять с...

Создание хранимых процедур, возвращающие общие суммы для заданного года
USE Northwind; --Go --Create PROCEDURE Product_sum --@fname datetime, --@sname datetime --...

1
3 / 3 / 4
Регистрация: 17.11.2008
Сообщений: 54
28.07.2016, 12:46 2
Лучший ответ Сообщение было отмечено mrprogmaster как решение

Решение

Что подразумевается под словом оптимальный?
Вопрос вообще в плане того, как вызвать хранимую процедуру с параметрами в C# и получить ответ?
Или вопрос в том, как передавать разное кол-во параметров?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
SQL_zapros ZAPROSY = new SQL_zapros();
 
class SQL_zapros
        {/*Класс SQL запросов*/
            public DataTable AppTable = new DataTable();
            public SqlCommand SELcmd = new SqlCommand();
            public SqlConnection MyConnection;
 
            public DataTable SelConnect(SqlCommand com)
            {/*Метод получения ответа SQL*/
                string ConnectionString = Properties.Settings.Default.NastriykyConnect;//Твои настройки соединения
                MyConnection = new SqlConnection(ConnectionString);
                com.CommandType = CommandType.Text;
                com.Connection = MyConnection;
                SqlDataAdapter Adapter = new SqlDataAdapter(com);
                DataTable AppDataTable = new DataTable();
                Adapter.Fill(AppDataTable);
                MyConnection.Close();
                return AppDataTable;//В этой таблице будет результат полученный от SQL-процедуры
            }
 
private void button1_Click(object sender, EventArgs e)
{//Кнопка отчета 1
    ZAPROSY.SELcmd = new SqlCommand("exec srv.FindPeople @p1, @p2, @p3");
        ZAPROSY.SELcmd.Parameters.Add("@p1", SqlDbType.VarChar).Value = "666";
        ZAPROSY.SELcmd.Parameters.Add("@p2", SqlDbType.VarChar).Value = "2016";
        ZAPROSY.SELcmd.Parameters.Add("@p3", SqlDbType.VarChar).Value = "Иванов";
 
        ZAPROSY.AppTable = ZAPROSY.SelConnect(ZAPROSY.SELcmd);//Теперь делай с этой таблицей что хочешь (передавай в эксель, меняй значения и т.д.)
}
 
private void button2_Click(object sender, EventArgs e)
{//Кнопка отчета 2
    ZAPROSY.SELcmd = new SqlCommand("exec srv.Babki @p1, @p2");
        ZAPROSY.SELcmd.Parameters.Add("@p1", SqlDbType.VarChar).Value = "Апрель";
        ZAPROSY.SELcmd.Parameters.Add("@p2", SqlDbType.VarChar).Value = "Май";
 
        ZAPROSY.AppTable = ZAPROSY.SelConnect(ZAPROSY.SELcmd);//Теперь делай с этой таблицей что хочешь (передавай в эксель, меняй значения и т.д.)
}
Черновой вариант на скорую руку, но работать будет.
Если будешь делать какое-то общее действие для всех отчетов (например в эксель писать), то это можно не дублировать везде
C#
1
ZAPROSY.AppTable = ZAPROSY.SelConnect(ZAPROSY.SELcmd);
а писать в методе создающем эксель.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2016, 12:46
Помогаю со студенческими работами здесь

Алгоритм для вызова методов с массива
Заранее извините за возможную не точною формулировку допустим.. у меня есть массив экземпляров...

Декорирование хранимых процедур
есть ли возможность навесить метаинформацию на хранимую процедуру, выполняя create procedure, по...

Перенос хранимых процедур
Всем добрый день! Продолжаю изучать SQL после скоропостижного ухода DBA методом "жить хочешь -...

Использование хранимых процедур
Суть: Есть две хранимые процедуры, А и Б А - главная, Б - дочерняя А должна вызывать Б...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru