Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Ошибка входа пользователя http://www.cyberforum.ru/ado-net/thread289380.html
прога вдруг перестала связываться с сервером, пишет Невозможно открыть пользовательскую базу данных по умолчанию. Не удалось выполнить вход. Ошибка входа пользователя "areostar-PC\areostar". ...
Подключение к БД Oracle C#
Народ, нужна помощь. Вообщем, есть база Oracle, хотелось бы клиент написать на C#. В интернете примеров много, но у меня все это дело не работает. Для начала бы хотелось просто подсоединиться к базе...
C# SQL запросы в WinForms
помогите с синтаксисом не пойму почему эта строка не прокатывает sqlcommand.CommandText = "INSERT INTO web_address values("+id +"," + address + "," + shablon + ")"; ...
C# C# и SQL 2008 Здравствуйте, собственно наткнуся на проблему при подключении к SQL server 2008 через C#. public partial class Form1 : Form { SqlConnection connection1 = new SqlConnection(@"Data... http://www.cyberforum.ru/ado-net/thread288470.html
C# Хочу получить данные их Ms SQL через web приложение. Ошибка в коде C# http://www.cyberforum.ru/ado-net/thread288437.html
Хочу получить данные их Ms SQL через web приложение. <%@ IMPORT namespace="System" %> <%@ IMPORT namespace="System.Data.DataSet" %> <%@ import Namespace="System.Data.SqlClient" %> <%@ import...
выдавание номера ключа (ID) автоматический C#
Собственно, такая проблема. Использую OledbDataAdapter. При использовании запроса INSERT, можно ли сделать чтоб значение Индекса автоматический выдавался, а не вручную?
C# выпадающий список в ComboBox
Здравствуйте!!! У меня дипломная работа и пишу на C#, мне нужно сделать выпадающий список в ComboBox. т.е есть три Combobox (Republic, Region and City) они между собой должны связаны, например...
C# Работа с базой SQL через Visual Studio Нужно, чтобы пользователь мог выбрать товар из базы, все что он выбрал отображалось и необходимо, чтобы отображалась сумма всего заказа. Есть запрос товар-стоимость... Никак не могу собраться с... http://www.cyberforum.ru/ado-net/thread287991.html
C# Ошибка кодировкой http://www.cyberforum.ru/ado-net/thread287935.html
Использую Mysql connector 6.3.6 База в UTF8 запрос выглядит вот так: string sqlString = "SET NAMES UTF8;INSERT INTO `base`.`table` (`id`, `name`, `addres`) VALUES (NULL,...
C# Открытие базы данных После следующего кода получаю ошибку: При соединении с БД произошла ошибка Сбой экземпляра. string strSqlCon = @"Data Source=localhost\\SQLEXPRESS; ... http://www.cyberforum.ru/ado-net/thread287876.html
metalistik1
2 / 2 / 0
Регистрация: 14.10.2015
Сообщений: 57
08.12.2016, 17:14 0

Вызов хранимой процедуры

08.12.2016, 17:14. Просмотров 7764. Ответов 14
Метки (Все метки)

Ответ

Mystery_Planet, вот тебе пример процедуры:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
ALTER procedure [dbo].[upkat]
 (
    @id_kat int ,
    @kat nvarchar(20),
    @col int = null output
 )
    as 
        begin
        select @col=COUNT(*) from kat where kat=@kat and id_kat<>@id_kat
            if @col<1
                update kat set kat=@kat where id_kat=@id_kat 
        end
..... п.с. запрос на обновление данных в таблице, при совпадении имен, процедура возвращает единицу и не обновляет данные, дабы избежать одинаковых данных...
а вот код для обращения к хранимой процедуре с выполнением определенных действий, т.е. к вышеуказанной хран.проц.
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
        private void button8_Click(object sender, EventArgs e)
        {
             if (textBox3.Text.Length>0)
            {
                    
                    SqlConnection connect2 = new SqlConnection(Form1.connectionstring);
                    connect2.Open();
                    SqlCommand cmu = new SqlCommand("upkat", connect2);
                    cmu.CommandType = CommandType.StoredProcedure;
                    cmu.Parameters.AddWithValue("@kat", textBox3.Text);
          
                    cmu.Parameters.AddWithValue("@id_kat", Convert.ToInt32(dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString()));
                    cmu.Parameters.Add("@col", SqlDbType.Int).Direction = ParameterDirection.Output;
                    cmu.ExecuteNonQuery();
 
                            if (Convert.ToInt32(cmu.Parameters["@col"].Value) < 1)
                            {
                                connect2.Close();
                                MessageBox.Show(Form1.msgaddc, Form1.comp, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                textBox3.Clear();
                                this.button1_Click(this, EventArgs.Empty);
                            }
                            else
                            {
                                connect2.Close();
                                MessageBox.Show(Form1.msgadde,Form1.eror,MessageBoxButtons.OK,MessageBoxIcon.Error);
                                textBox3.Clear();
                                this.button1_Click(this, EventArgs.Empty);
                            }
                     }
              else
            {           
                MessageBox.Show("Поле <"+label2.Text+"> - не может быть пустым");        
            }
                
        }
для получения данных выборки с хранимой процедуры, следующий код:
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
        private void button1_Click(object sender, EventArgs e)
        {
 
 
            SqlConnection connect = new SqlConnection(Form1.connectionstring);
            connect.Open();
            SqlDataAdapter adapter = new SqlDataAdapter("selkat", connect);
            adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
            if (kat.Length > 0)
            { adapter.SelectCommand.Parameters.AddWithValue("@kat", kat); }
            else
            { adapter.SelectCommand.Parameters.Clear(); };
            DataTable tb = new DataTable();
            adapter.Fill(tb);
            dataGridView1.Refresh();
            dataGridView1.DataSource = tb;
            dataGridView1.ReadOnly = true;
 
            dataGridView1.Columns[1].Visible = false;
            dataGridView1.Columns[2].HeaderText = "Категория";
            dataGridView1.Columns[2].Width = 190;
 
            dataGridView1.Columns[0].DisplayIndex = 2;
            dataGridView1.Columns[2].DisplayIndex = 1;
 
            connect.Close();
 
        }
Думаю разберешься

Вернуться к обсуждению:
Вызов хранимой процедуры
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2016, 17:14
Готовые ответы и решения:

Вызов хранимой процедуры
Как вызвать хранимую процедуру в БД Access через Viasual Studio 2015 Community. Хранимые процедуры:...

Вызов хранимой процедуры
Здравствуйте, помогите пожалуйста. Мне нужно сделать, чтобы на форму в ЛистБокс выводилась...

Вызов хранимой процедуры в с#
Хочу обновить бд с помощью хранимой процедуры ALTER procedure . @id_TP int, @id_worker int, @DT...

Вызов хранимой процедуры
Добрый день У меня есть процедура хранимая в MySQL на добавление строки CREATE DEFINER =...

Вызов хранимой процедуры
есть хранимая процедура. Надо ее вызвать и что бы она заменила один столбец в БД. если что проект...

14
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.