С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227

Не работает вызов хранимую процедуру asp net mvc (EF)

13.02.2020, 11:46. Показов 1001. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, выводит ошибку при выводе. не могу найти и исправить. помогите плз.
Хранимые процедуры:
SQL
1
2
3
4
5
6
7
8
CREATE PROCEDURE [dbo].[Otchet]
    @param1 DATE,
    @param2 DATE
AS
    SELECT id_sotrud, Uslugis.id_usl, Uslugis.price_usl 
    FROM [Obsledovanies],[Uslugis] 
    WHERE data_posesh >= @param1 AND data_posesh <= @param2
RETURN 0
HomeController:
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
public ActionResult IndexOtchet()
        {
            using (var db = new Context())
            {
                var param1 = new SqlParameter();
                param1.ParameterName = "@param1";
                param1.SqlDbType = SqlDbType.Int;
                param1.SqlValue = "01.01.2020";
 
                var param2 = new SqlParameter();
                param2.ParameterName = "@param2";
                param2.SqlDbType = SqlDbType.NVarChar;
                param2.SqlValue = "03.01.2020";
 
                var result = db.Obsledovanies.SqlQuery("Otchet @param1,@param2", param1, param2).ToList();
                return Json(result, JsonRequestBehavior.AllowGet);
 
                //var parameter = "01.01.2020";
                //var parameter2 = "03.01.2020";
                //var query = db.Database.SqlQuery<Context>("Otchet @param1,@param2",
                //               new SqlParameter("@param1", parameter)).ToList();
                //return Json(query, JsonRequestBehavior.AllowGet);
            }
        }
и вывод(Представление):
HTML5
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
@model IEnumerable<VetKlinika.Models.Obsledovanie>
 
@{
    ViewBag.Title = "IndexOtchet";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
 
<table align="center">
    <tr>
        <th>Сотруд</th>
        <th>Услуги</th>
        <th>Цена</th>
    </tr>
    <br />
    @foreach (var item in Model)
    {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.id_sotrud)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.id_usl)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Uslugi.price_usl)
        </td>
    </tr>
    }
</table>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2020, 11:46
Ответы с готовыми решениями:

Client ASP.NET MVC + Angular и Server side ASP.NET WEB.API
Доброго времени суток! Не первый день бьюсь над задачей, не могу понять в чем причина. Хочу создать почти HelloWorld решение, для...

Как вызвать хранимую процедуру из ASP
Здравствуйте! Не подскажете как правильно вызвать хранимую процедуру, я вот так вызываю,но он ошибку вызывает: var...

Как запустить хранимую процедуру из html или asp?
Как запустить хранимую процедуру(SQL Server ) из html или asp?

13
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
13.02.2020, 11:47  [ТС]
вот ошибка
Миниатюры
Не работает вызов хранимую процедуру asp net mvc (EF)  
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
13.02.2020, 12:01
wymaxep, а посмотреть, что пришло из бд вы не хотите?
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
13.02.2020, 12:11  [ТС]
Рядовой, то есть, выполнить в бд эту процедуру? что выводит? или что?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
13.02.2020, 12:14
wymaxep, нет, покажите что получает представление
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
13.02.2020, 12:20  [ТС]
Рядовой, как раз вот эта ошибка, которую я прислал. то есть, ничего не выводит.
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
13.02.2020, 12:22
wymaxep, так вы не пытайтесь вывести, а просто в дебаге покажите что там в model
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
13.02.2020, 12:44
.. а разве вызов хранимки в EF так делается? (сам никогда не пользовался, но буквари вещают иное) .. т.е. для EF6 должно быть что-то типа:
C#
1
2
3
context.Database.ExecuteSqlCommand(
        "EXECUTE dbo.Otchet", param1, param2");
}
для EF Core соответственно:

C#
1
2
3
var blogs = context.Blogs
    .FromSqlRaw("EXECUTE dbo.GetMostPopularBlogs")
    .ToList();
.. примеры отсюда
https://docs.microsoft.com/en-... ng/raw-sql
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
13.02.2020, 12:44  [ТС]
Рядовой,
C#
1
2
3
4
5
 public ActionResult IndexOtchet()
        {
            var courses = db.Obsledovanies.Include(c => c.Uslugi)
                .Include(c=> c.Sotrud);
            return View(courses.ToList());
Изображения
 
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
13.02.2020, 14:04  [ТС]
carrotik, сделал так,
C#
1
var result = db.Database.ExecuteSqlCommand("EXECUTE dbo.Otchet", param1, param2);
та же ошибка.

Добавлено через 4 минуты
нашел ошибку в контроле.
Цитата Сообщение от wymaxep Посмотреть сообщение
var param1 = new SqlParameter();
                param1.ParameterName = "@param1";
                param1.SqlDbType = SqlDbType.Int;
                param1.SqlValue = "01.01.2020";
var param2 = new SqlParameter();
                param2.ParameterName = "@param2";
                param2.SqlDbType = SqlDbType.NVarChar;
                param2.SqlValue = "03.01.2020";
"int и NVarChar" должно быть дата

Добавлено через 59 минут
я думаю что не правильно работает из за этого
C#
1
return Json(result, JsonRequestBehavior.AllowGet);
как можно по другому написать?
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
13.02.2020, 20:43
Цитата Сообщение от wymaxep Посмотреть сообщение
я думаю что не правильно работает из за этого
Это здесь не при чем, красным по желтому же написано ,что ошибка при выполнении запроса.
Сделайте аналогично:
C#
1
2
3
4
5
// SqlParameter-ру можно установить нужный тип.
SqlParameter latParam = new SqlParameter("lat", latitude);       
     SqlParameter lngParam = new SqlParameter("long", longitude);
     object[] parameters = new object[] { latParam , lngParam };
     var stores = db.SomeDbSet.SqlQuery(SQL, parameters);
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
15.02.2020, 13:34  [ТС]
IamRain, я сделал вот так. добавил еще преобразование на дату.
C#
1
2
3
4
5
6
7
8
            SqlParameter Param1 = new SqlParameter("ot", "01.01.2020");
            SqlParameter Param2 = new SqlParameter("do", "03.01.2020");
            Param1.SqlDbType = SqlDbType.Date;
            Param2.SqlDbType = SqlDbType.Date;
            object[] parameters = new object[] { Param1, Param2 };
            string SQL = "SELECT * FROM dbo.Obsledovanies where data_posesh >= 'ot' and data_posesh <= 'do'";
            var stores = db.Obsledovanies.SqlQuery(SQL, Param1, Param2);
            return Json(stores, JsonRequestBehavior.AllowGet);
и все равно ошибка. только другая. где я допустил ошибку? помогите плз.
Миниатюры
Не работает вызов хранимую процедуру asp net mvc (EF)  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
15.02.2020, 14:42
Передавайте объект DateTime, а не строку - об этом и текст ошибки. Тот случай, кода надо радоваться, что получаете ошибку, но уже другую. Значит прогресс есть.
0
5 / 3 / 2
Регистрация: 14.03.2018
Сообщений: 227
15.02.2020, 15:11  [ТС]
IamRain, это да,согласен. я сделал на проверку, без дат точнее. просто вывести все. но не пойму почему он так выводит?
Миниатюры
Не работает вызов хранимую процедуру asp net mvc (EF)  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2020, 15:11
Помогаю со студенческими работами здесь

связь MVC и MVVM. Трудно ли освоить mvc параллельно с изучением ASP.NET
Здравствуйте, начал изучать ASP.NET для курсовой работы. Начал читать &quot;Мак-Дональд М., Фримен А., Шпушта М. Microsoft ASP.NET 4 с примерами...

ASP.NET Core или ASP.NET MVC
Здравствуйте После изучение основ c# я решил выбрать направление веб разработки. Подскажите какие технологии и требования нужны для...

ASP.NET MVC VS .NET CORE MVC
Ку, можете подкинуть статейку где подробно описывается разница между этими двумя технологиями плз. Чет поиск в гугле у меня не очень...

Нужно вызвать хранимую процедуру (запрашивает параметры и возвращает значение) из ASP (VBscript)
Привет! Я использую СУБД FoxPro. Мне нужно вызвать хранимую процедуру (запрашивает параметры и возвращает значение) из ASP (VBscript)....

ASP.NET или ASP.NET MVC
Посоветуйте какую технологию лучше начать изучать ASP.NET или ASP.NET MVC. Не содной ни c другой ранее знаком не был.C# на базовом уроне...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru