Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Wild Wolf
61 / 61 / 11
Регистрация: 30.06.2010
Сообщений: 260

Ошибка: "Ошибочно число или типы аргументов"

25.03.2011, 09:58. Показов 2679. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть функция на сервере, которая в качестве параметров принимает некоторые значения с различными типами данных. Среди этих типов данных имеются IN OUT типы (тобиш одна и та же переменная как на входе, так и на выходе).
Я создала DataAdapter с параметрами, как в этой функции. У IN OUT параметров, установила ParameterDirection.InputOutput;
При попытки выполнить ExecuteNonQuery(); Выдаёт ошибку "Ошибочно число или типы аргументов при обращении к 'SET_PLAN' " (SET_PLAN - название моей функции на сервере).

Я однажды сталкивалась с проблемой, где функция принимала только один параметр, а он ругался точно так же: "Ошибочно число или типы аргументов ..." оказалось, что там надо было указывать еще один параметр: "RETURN_VALUE" - куда он мне возвращал результат.

Вот я и думаю, что может тут тоже какая то своя особенность? Потому что типы и названия и количество параметров я правильно передаю.

Вот моя Oracl-оавя функция:
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PROCEDURE PDB.SET_PLAN (
v_PLAN_ID   IN NUMBER,         -- id плана
v_ORDER_PL  IN NUMBER,         -- порядок выполнения
v_AIM_DATE  IN OUT DATE,           -- планируемая дата запуска
v_STEEL_ID  IN NUMBER,         -- марка
v_NTD_ID    IN NUMBER,         -- НТД
v_DIAM_BL   IN NUMBER,         -- диаметр
v_LEN_BL    IN NUMBER,         -- длина
v_COUNT_LD  IN OUT NUMBER,     -- количество
v_VACUUM    IN NUMBER,         -- признак вакуумирования
v_DESCRIPT  IN VARCHAR2,       -- примечание
v_ID_SERIES IN  NUMBER         -- номер серии
)
AS
...
А вот как я её пытаюсь выполнить:
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
40
41
42
43
44
45
46
47
                
OracleDataAdapter adp_set_plan = new OracleDataAdapter("PDB.SET_PLAN", Program.conn);
 
adp_set_plan.SelectCommand.CommandType = CommandType.StoredProcedure;
                adp_set_plan.SelectCommand.Connection = Program.conn;
                adp_set_plan.SelectCommand.Parameters.Add("V_PLAN_ID", OracleType.Int32);
                adp_set_plan.SelectCommand.Parameters.Add("V_ORDER_PL", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_AIM_DATE", OracleType.DateTime);
                adp_set_plan.SelectCommand.Parameters.Add("V_STEEL_ID", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_NTD_ID", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_DIAM_BL", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_LEN_BL", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_COUNT_LD", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_VACUUM", OracleType.Int16);
                adp_set_plan.SelectCommand.Parameters.Add("V_DESCRIPT", OracleType.VarChar);
                adp_set_plan.SelectCommand.Parameters.Add("V_ID_SER", OracleType.Int32);
 
int? V_PLAN_ID = Convert.ToInt32(Dr1_plan["PLAN_ID"]);
                int? V_ORDER_PL = Convert.ToInt16(Dr1_plan["ORDER_PL"]);
                DateTime? V_AIM_DATE = Convert.ToDateTime(Dr1_plan["AIM_DATE"]);
                short? V_STEEL_ID = Convert.ToInt16(Dr1_plan["STEEL_ID"]);
                short? V_NTD_ID = Convert.ToInt16(Dr1_plan["NTD_ID"]);
                short? V_DIAM_BL = Convert.ToInt16(Dr1_plan["DIAM_BL"]);
                short? V_LEN_BL = Convert.ToInt16(Dr1_plan["LEN_BL"]);
                short? V_COUNT_LD = Convert.ToInt16(Dr1_plan["COUNT_LD"]);
                short? V_VACUUM = Convert.ToInt16(Dr1_plan["VACUUM"]);
                string V_DESCRIPT = Dr1_plan["DESCRIPT"].ToString();
                int? V_ID_SER = Convert.ToInt32(Dr1_plan["ID_SER"]);
                adp_set_plan.SelectCommand.Parameters["V_PLAN_ID"].Value = V_PLAN_ID;
                adp_set_plan.SelectCommand.Parameters["V_ORDER_PL"].Value = V_ORDER_PL;
                adp_set_plan.SelectCommand.Parameters["V_AIM_DATE"].Direction = ParameterDirection.InputOutput;
                adp_set_plan.SelectCommand.Parameters["V_AIM_DATE"].Value = V_AIM_DATE;
                adp_set_plan.SelectCommand.Parameters["V_STEEL_ID"].Value = V_STEEL_ID;
                adp_set_plan.SelectCommand.Parameters["V_NTD_ID"].Value = V_NTD_ID;
                adp_set_plan.SelectCommand.Parameters["V_DIAM_BL"].Value = V_DIAM_BL;
                adp_set_plan.SelectCommand.Parameters["V_LEN_BL"].Value = V_LEN_BL;
                adp_set_plan.SelectCommand.Parameters["V_COUNT_LD"].Direction = ParameterDirection.InputOutput;
                adp_set_plan.SelectCommand.Parameters["V_COUNT_LD"].Value = V_COUNT_LD;
                adp_set_plan.SelectCommand.Parameters["V_VACUUM"].Value = V_VACUUM;
                adp_set_plan.SelectCommand.Parameters["V_DESCRIPT"].Value = V_DESCRIPT;
                adp_set_plan.SelectCommand.Parameters["V_ID_SER"].Value = V_ID_SER;
                if (Program.conn.State == ConnectionState.Closed)
                {
                    Program.conn.Open();
                }
                adp_set_plan.SelectCommand.ExecuteNonQuery(); // Вот тут ошибка
                Program.conn.Close();
Добавлено через 1 час 37 минут
АйАйАй!! Не ругайте "Тормоза" в моём лице! Раскаиваюсь в прахе !
Написала, что всё правильно передаю. Ан нет! Когда уже стала копировать параметры из базы в программу (чтобы избежать неточностей в написании), обнаружила что в базе у меня
Oracle 11 SQL
1
v_ID_SERIES IN  NUMBER         -- номер серии
А в программулине
C#
1
adp_set_plan.SelectCommand.Parameters.Add("V_ID_SER", OracleType.Int32);
"v_ID_SERIES" != "V_ID_SER";
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.03.2011, 09:58
Ответы с готовыми решениями:

ошибка: Недопустимое число аргументов или присвоение значения свойства: 'rs'
Я делаю следующим образом: в отдельном файле есть функции подключения к бд... <!--#include virtual='/forum/util.asp' --> Вызов...

Ошибочно число или типы аргументов при обращении к процедуре
Процедура СREATE OR REPLACE PROCEDURE lera (NAZVA_IN IN VARCHAR, NOMER_OUT OUT NUMBER ) IS BEGIN SELECT b.Код_лекарства INTO...

PLS-00306: ошибочно число или типы аргументов при обращении к 'INSERTPRODUCT'
Всем добрый день. Пытаюсь запустить процедуру, но выдает ошибку из темы --Создание процедуры добавления в таблицу Product CREATE...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.03.2011, 09:58
Помогаю со студенческими работами здесь

SQL Error: "ошибочно число или типы аргументов при обращении"
Добрый день, делаю работу по примеру (к автору возможности обратиться нет к сожалению). Там все расписано точно так же, я переписала и...

Ошибка: ни одна из перегрузок не может преобразовать все типы аргументов
#include "stdafx.h" #include "CppUnitTest.h" #include "/My Documents/Visual Studio...

Ошибка pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов
Кусок программы, в котором ошибка "pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов " private:...

Ошибка C2665 strcpy_s: ни одна из 2 перегрузок не может преобразовать все типы аргументов
#include "stdafx.h" #include <iostream> #define _CRT_SECURE_NO_WARNINGS using namespace std; ...

Ошибка C2665 pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов
Ошибка C2665 pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов #include "pch.h" ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru