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

Процедура или функция "ИмяФункции" ожидает параметр "@Параметр", который не был указан

30.03.2014, 12:56. Показов 10075. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Помогите, пожалуйста, исправить ошибку.

В SQL Server 2008 R2 создал скалярную функцию:
T-SQL
1
2
3
4
5
6
ALTER FUNCTION [Функция](@p nvarchar(5)) RETURNS int
BEGIN
     RETURN (SELECT КодИспытания
             FROM Испытания
             WHERE Пароль = @p)
END
В C# хочу использовать эту функцию.
C#
1
2
3
4
5
6
7
SqlConnection Соединение = new SqlConnection(СтрокаСоединения.ConnectionString);
SqlCommand Комманда = new SqlCommand("Функция", Соединение);
Комманда.Parameters.Add("@p", SqlDbType.NVarChar, 5).Value = ТекстПароль.Text;
 
Соединение.Open();
int Код = (int)Комманда.ExecuteScalar();
Соединение.Close();
В строке
C#
1
int КодИспытания = (int)Комманда.ExecuteScalar();
возникает ошибка:
"Процедура или функция "Функция" ожидает параметр "@p", который не был указан."
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2014, 12:56
Ответы с готовыми решениями:

Параметризованный запрос ожидает параметр "@Ccal" который не был указан
При записи в ячейку "Ccal" - выходит ошибка, указанная в теме. Код был вот такой: adapt.SelectCommand = new...

Процедура или функция ожидает параметр, который не был указан.
Вызываю хранимую процедуру, ошибку показывает не пойму в чем ошибка, помогите. Процедура или функция "lab1_za1111111"...

Процедура или функция ожидает параметр который не был указан
begin DM.ADOConnection.BeginTrans; with DM.PInsertProf do begin ...

8
 Аватар для Павлик Морозов
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
30.03.2014, 18:21
Единственная мысль, приходящая в голову, глядя на ваш код, так это ошибочка в раскладке клавиатуры... Не называйте так переменные, дико смотрится....
0
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 8
30.03.2014, 20:54  [ТС]
Изменение раскладки не помогает. Код на русском не требуется комментариев. Среда позволяет, почему не пользоваться.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
31.03.2014, 13:01
Дима Г, используйте запрос:
T-SQL
1
Select * from Функция(@p);
Добавлено через 1 минуту
то, что позволяет не значит что там нет косяков. студия писана америкосами - русские названия это надстройка над обычным функционалом.
1
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 8
05.04.2014, 20:28  [ТС]
У меня имя функции f001(@p)

Так не работает:
SQL
1
2
3
SELECT * FROM f001(@p)
SELECT * FROM dbo.f001(@p)
SELECT f001(@p)
а вот так работает:
SQL
1
SELECT dbo.f001(@p)
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
06.04.2014, 15:42
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
using System;
using System.Data.SqlClient;
using System.Diagnostics;
 
namespace Ghost
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnectionStringBuilder stringBuilder = new SqlConnectionStringBuilder();
            stringBuilder.DataSource = "localhost";
            stringBuilder.InitialCatalog = "VetContext";
            stringBuilder.UserID = "sa";
            stringBuilder.Password = "1";
            using (SqlConnection connection = new SqlConnection())
            {
                connection.ConnectionString = stringBuilder.ConnectionString;
                using (SqlCommand command  = connection.CreateCommand())
                {
                    command.CommandText = "SELECT dbo.CoolFunction(@p);";
                    command.Parameters.Add("@p", System.Data.SqlDbType.NVarChar, 5).Value = "123";
                    connection.Open();
                    int obj = Convert.ToInt32(command.ExecuteScalar());
                    Debug.Assert(obj == 123 * 2);
                }
            }
        }
    }
}
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE FUNCTION dbo.CoolFunction
(
    @p nvarchar(5)
)
RETURNS int
AS
BEGIN
    
    return CAST(@p AS INT) * 2;
 
END
GO
0
19 / 13 / 6
Регистрация: 29.08.2015
Сообщений: 115
27.12.2020, 20:23
Возможно однажды это кому-то поможет, как могло бы помочь мне, пойми я это на час раньше:
Если вы хотели вызвать процедуру просто по имени, не указывая в скобках параметры, то есть смысл сделать:
C#
1
sqlCmd.CommandType = CommandType.StoredProcedure;
Или как оно было бы в примере автора:
C#
1
Комманда.CommandType = CommandType.StoredProcedure;
И тогда всё будет работать тоже.
1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
27.12.2020, 23:52
Jluc,

Даже не представляю себе кому может "это" помочь

Дело в простых правилах TSQL: UDF вызывается оператором Select, а Stored Proc - Execute. А параметры, если они предусмотрены UDF/SP, должны быть указаны, за исключением параметров по умолчанию, если это опять же предусмотрено в объявлении SP.

CommandType = StoredProcedure всего лишь "поручает" ADO.NET построить соответствующий запрос Execute/Exec для MS SQLServer, Select from StoredProc для FB, StoredProc для ORACLE и т.д.
0
19 / 13 / 6
Регистрация: 29.08.2015
Сообщений: 115
10.01.2021, 21:30
Цитата Сообщение от MsGuns Посмотреть сообщение
Даже не представляю себе кому может "это" помочь
возможно, таким же невнимательным, либо незнающим, как я.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2021, 21:30
Помогаю со студенческими работами здесь

Процедура или функция sp_sum_dgvr ожидает параметр @dgvrNumber , который не был указан
Не особо понял ошибку и как её исправить, что делать? SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE . ...

Добавление записи в БД: Процедура или функция ожидает параметр, который не был указан
Добрый день! Ребята подскажите пожалуйста. Данная процедура просто должна вставлять запись в базу SqlServer введенные пользователем...

Процедура ожидает параметр, который не был указан
Ошибка возникла в данном коде: CREATE PROCEDURE sp_AddPeople @Имя nchar(15), @Фамилия nchar(15), @Рождение date, @Пол...

Ошибка при записи в БД SQL (запрос ожидает параметр, который не был указан)
Имеется: command.CommandText = "insert into DocFlow.dbo.Included (SerialNumber, Execution, Sender, DocNumber, DocContent,...

Ожидает параметр "@count", который не был указан
При выполнении хранимой процедуры ошибка "ожидает параметр "@count", который не был указан." в чем проблема? create procedure...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru