12 / 12 / 3
Регистрация: 11.10.2010
Сообщений: 159
1

Firebird: выполнение хранимых процедур

20.03.2012, 13:25. Показов 4712. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Как выполнить хранимую процедуру:
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
FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
            fb_con.Charset = "UTF8"; //используемая кодировка
            fb_con.UserID = Properties.Settings.Default.username.ToString(); //логин
            fb_con.Password = Properties.Settings.Default.password.ToString(); //пароль
            fb_con.Database = Properties.Settings.Default.pathtodb.ToString(); //путь к файлу базы данных
            fb_con.ServerType = 0; //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))
            //создаем подключение
            fb = new FbConnection(fb_con.ToString()); //передаем нашу строку подключения объекту класса FbConnection
            fb.Open(); //открываем БД
            DataTable dt = new DataTable();
            FbDataAdapter da = new FbDataAdapter();
             FbCommand cmd = new FbCommand("select * from mat_spr", fb);
                cmd.CommandType = CommandType.Text;
                FbDataReader dr = cmd.ExecuteReader();
                dt.Load(dr);
                dataGridView1.DataSource = dt;
                FbTransaction trn = fb.BeginTransaction();
                FbCommand prc = new FbCommand(("execute procedure pr_add_item (:p_cur_date,:p_name,:p_matcol,:p_matcen)"), fb, trn);
                prc.Parameters.Add(":p_cur_date","01.02.2012");
                prc.Parameters.Add(":p_name", "Russia");
                prc.Parameters.Add(":p_matcol", "154");
                prc.Parameters.Add(":p_matcen", "454");
                prc.ExecuteNonQuery();
                trn.Commit();
            fb.Close();
Ругается на ExecuteNonQuery(). Как быть?


Сама процедура
Pascal
1
2
3
4
5
6
7
8
9
10
begin
  mind = gen_id (gen_mat_spr_id,1);
   if (mind = 0) then
    mind = gen_id (gen_mat_spr_id,1);
    insert into mat_spr (ind, mat_name, mat_kol, cur_date)
    values (:mind, :p_name,:p_matcol,current_timestamp);
    insert into mat_cost(ind,mat_cen)
    values (:mind, :p_matcen);
  suspend;
end
Добавлено через 1 час 23 минуты
Разобрался! Оказалось "Не то пальто"
C#
1
2
3
4
5
6
7
8
9
10
FbTransaction trn = fb.BeginTransaction();
                FbCommand prc = new FbCommand("PR_ADD_ITEM", fb,trn);
                prc.CommandType = System.Data.CommandType.StoredProcedure;
                prc.Parameters.Add("@p_cur_date", FbDbType.Date).Value = "1987.01.01";
                prc.Parameters.Add("@p_name", FbDbType.VarChar).Value = "testttt";
                prc.Parameters.Add("@p_matcol", FbDbType.Integer).Value = "11111";
                prc.Parameters.Add("@p_matcen", FbDbType.Float).Value = "11";
               prc.ExecuteNonQuery(); 
                trn.Commit();
            fb.Close();
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2012, 13:25
Ответы с готовыми решениями:

Вызов хранимых процедур
Здравствуйте, подскажите пожалуйста, как мне правильно сделать: есть форма, на форме расположены...

Вызов хранимых процедур и ее вывод
Проблема такая, я создал строку подключения и открыл соединение SqlCommand comm...

Дефолтные значения параметров хранимых процедур
Доброго времени суток. Есть хранимки с дефолтными значениями параметров. Хотелось бы эти значения...

Использование хранимых процедур базы данных
помогите пожалуйста. у меня есть база данных к которой я написал несколько view и stored...

0
20.03.2012, 13:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2012, 13:25
Помогаю со студенческими работами здесь

Извлечь из БД списки таблиц, колонок в них, триггеров, хранимых процедур и т.д
Доброго времени суток. Проблема в следующем: Мне нужно извлечь из БД списки таблиц, колонок в...

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

Параллельное выполнение процедур Oracle с использованием ODP.NET
Здравствуйте. Использую библиотеку Oracle.ManagedDataAccess для подключения к СУБД Oracle. На...

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


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

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

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