Отладка хранимой процедуры в Visual Studio 2017 из проекта на C#

156
18 октября 2019, 02:00

Моя хранимая процедура в базе данных иногда возвращает ошибку, хотя видимых предпосылок для этого нет. Поэтому хочется видеть, что происходит внутри хранимой процедуры, отлаживая код на C#. Как настроить отладку хранимой процедуры в Visual Studio 2017, чтоб была возможность отлаживать хранимые процедуры, вызывая их из кода C#?

Пример кода на C#:

SqlCommand cmd = new SqlCommand("dbo.GetData") { CommandType = CommandType.StoredProcedure };
cmd.Parameters.Add(new SqlParameter("Id", 1));
cmd.Parameters.Add(new SqlParameter("Prm", 0));
using (SqlConnection sqlConn = new SqlConnection(_sConnectionString))
{
    try
    {
        sqlConn.Open();
        сmd.Connection = sqlConn;
        try
        {
            DataTable dtRslt = null;
            SqlDataReader reader = сmd.ExecuteReader();
            do
            {
                var dt = new DataTable();
                dt.Load(reader);
                dtRslt = dt;
            }
            while (!reader.IsClosed);
            return dtRslt;
        }
        catch (SqlException sqlEx)
        {
        }
        return null;
    }
    catch (Exception ex)
    {
        return null;
    }
}

И вызываемая хранимая процедура из базы данных:

CREATE PROCEDURE dbo.GetData
  @Id INT,
  @Prm INT
AS
BEGIN
    IF @Prm = 1
        SELECT * FROM Table1 WHERE id = @Id;
    ELSE
        SELECT * FROM Table2 WHERE id = @Id;
END;
GO

Когда исполняется строка SqlDataReader reader = сmd.ExecuteReader(); по идее по F11 мы должны провалиться в базу данных в выполняемую хранимую процедуру. Как этого достичь?

READ ALSO
неправильный расчёт даты

неправильный расчёт даты

имеется такой код для вычисления количества дней между двумя датами:

142
Если поле формы не заполнено менять содержимое письма

Если поле формы не заполнено менять содержимое письма

Есть форма с необязательными полямиНужно, если не заполняют эти поля то письмо выводить без "пустых" этих полей

127
как сделать проверку в mysql?

как сделать проверку в mysql?

Использую redbean phpпользователь ставит лайк, это записывается в бд таблицу 'post' так же есть общая таблица 'user2like' куда записывается id поста и id пользователя...

129
Количество записей каждого наименования Mysql

Количество записей каждого наименования Mysql

как вывести наименование товара и его общее количество в таблице? вот такая структура таблицы

112