Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/32: Рейтинг темы: голосов - 32, средняя оценка - 4.69
1 / 1 / 1
Регистрация: 02.05.2007
Сообщений: 6

Обращение к процедуре Oracle.

26.05.2010, 02:09. Показов 6036. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вызываю процедуру Oracle, которая должна удалить строки в таблицах. Но в итоге ничего не удаляет. Саму процедуру тестировал в PL/SQL Developer'e - работает. Вот код вызова:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 protected void DeleteRow(int rowindex)
    {
        OracleConnection conn = new OracleConnection("Data Source=SHLCORE;User Id=system;Password=pass;");
        OracleCommand cmd = new OracleCommand();
        cmd.Connection = conn;
        switch (DropDownList1.SelectedItem.Text)
        {
            case "AUDITORIUM": cmd.CommandText = "sp_delrowinauditorium";
                string auditorium = GridView1.Rows[rowindex].Cells[2].Text;
                cmd.CommandText +="(" + auditorium.ToString() + ")";
                break;           //на этой стадии проверял содержание CommandText, вроде все нормально
        }
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        conn.Open();
        int x = cmd.ExecuteNonQuery();   //в х возвращается 1
        conn.Close();
    }
У кого какие идеи/предложения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2010, 02:09
Ответы с готовыми решениями:

Одновременное обращение к процедуре
Здравствуйте, Есть приложение на с#, подключенное к sql server. Приложение установили несколько пользователей. На сервере есть...

Обращение к БД Oracle через ADO.Net
строку подключения напиши и проверь права на директорию где лежит ociw32.dll

Обращение к задействованной процедуре
Доброго времени суток! Разбираю чужой, довольно сложный для меня код. Прошу направить советом. Указанная процедура не должна...

2
Администратор
 Аватар для mik-a-el
87855 / 53176 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
26.05.2010, 07:33
KOCMOC, идея такая, что вы неправильно работаете с процедурой.
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
Using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OracleClient;
using System.Data;
 
namespace CallingOracleStoredProc
{
    class Program
    {
        static void Main(string[] args)
        {
            using (OracleConnection objConn = new OracleConnection("Data Source=ORCL; User ID=scott; Password=tiger"))
            {
                OracleCommand objCmd = new OracleCommand();
                objCmd.Connection = objConn;
                objCmd.CommandText = "count_emp_by_dept";
                objCmd.CommandType = CommandType.StoredProcedure;
                objCmd.Parameters.Add("pin_deptno", OracleType.Number).Value = 20;
                objCmd.Parameters.Add("pout_count", OracleType.Number).Direction = ParameterDirection.Output;
 
                try
                {
                    objConn.Open();
                    objCmd.ExecuteNonQuery();
                    System.Console.WriteLine("Number of employees in department 20 is {0}", objCmd.Parameters["pout_count"].Value);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine("Exception: {0}",ex.ToString());
                }
 
                objConn.Close();
            }
        }
    }
}
1
1 / 1 / 1
Регистрация: 02.05.2007
Сообщений: 6
26.05.2010, 08:33  [ТС]
Переделал. Стала появляться ошибка:
ORA-06550: Строка 1, столбец 54:
PLS-00707: неподдерживаемая конструкция или внутренняя ошибка [2603]
ORA-06550: Строка 1, столбец 7:
PL/SQL: Statement ignored
Вот процедура:
Oracle 11 SQL
1
2
3
4
5
6
CREATE OR REPLACE PROCEDURE sp_delrowinauditorium(a IN CHAR) IS
BEGIN
  DELETE FROM SHEDULESSON WHERE auditorium = a;
  DELETE FROM AUDITORIUM WHERE auditorium = a;
  COMMIT;
END sp_delrowinauditorium;
Столбец auditorium имеет тип char(10).
Вот теперешний код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    protected void DeleteRow(int rowindex)
    {
        OracleConnection conn = new OracleConnection("Data Source=SHLCORE;User Id=system;Password=pass;");
        OracleCommand cmd = new OracleCommand();
        cmd.Connection = conn;
        switch (DropDownList1.SelectedItem.Text)
        {
            case "AUDITORIUM": cmd.CommandText = "sp_delrowinauditorium";
                string auditorium = GridView1.Rows[rowindex].Cells[2].Text;
                cmd.Parameters.Add("auditorium", OracleType.Char, 10).Value = auditorium.ToCharArray();
                cmd.Parameters.Add("count", OracleType.Number).Direction = System.Data.ParameterDirection.Output;
                break;
        }
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
    }
Есть идеи?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2010, 08:33
Помогаю со студенческими работами здесь

Обращение к хранимой процедуре
У меня в хранимой процедуре объявляются переменные таблицы 2-4 штуки. (@table_without_pen, @table_cap_period, @table_cap) Как мне к ним...

обращение к ЕХЕшной процедуре
Привет всем! =) Вопрос такой!!! Как обратится к процедуре в ехе файле, с помощи делфи!????

Обращение к процедуре из функции
Добрый день. Есть процедура: Sub raschet (x1 as single, x2 as single, x3 as single) Dim A1 as Single Dim B1 as Single Dim C1...

Обращение к хранимой процедуре из ASP
У меня есть хранимая прцедура в MSSQL в которой создаеться временная таблица и просто выводиться : При обращении к...

Обращение к объекту процедуры в процедуре
Здравствуйте, я динамически создаю массив с Timage компонентами. Для каждого создаю процедуру клика на объект мышью. Как мне в процедуре...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru