SqlDataReader не видит передаваемые параметры

Сам Sql запрос работает 100%, но как передать параметр в него чтобы это видел SqlDataReader. Сейчас он видит, что HasRow ничего нет.

using (SqlConnection connection = new SqlConnection(DBConnection.ConnectionString))
{
    // SqlParameter nameParam = new SqlParameter("@id_trans", idTrans);

    connection.Open();
    SqlCommand command = new SqlCommand(SelectNaklInGroupNakl, connection);
    //  command.Parameters.Add("@id_trans", SqlDbType.NVarChar).Value = idTrans;
    var param = new SqlParameter();
    param.ParameterName = "@id_trans";
    param.Value = "Value";
    command.Parameters.Add(param);
    //  SqlParameter nameParam = new SqlParameter("@id_trans", idTrans);

    SqlDataReader reader = command.ExecuteReader();

    if (reader.HasRows) // если есть данные
    {
        while (reader.Read()) // построчно считываем данные
        {
            string ert = reader.GetValue(0).ToString() ?? "";
        }
    }
}

С простым Sql запросом не работает и все.

string selectNaklInGroupNakl = @"select * from tov_doc where id_trans = ' @id_trans ' ";

using (SqlConnection connection = new SqlConnection(DBConnection.ConnectionString))
{
    // SqlParameter nameParam = new SqlParameter("@id_trans", idTrans);

    connection.Open();
    SqlCommand command = new SqlCommand(selectNaklInGroupNakl, connection);
    command.Parameters.AddWithValue("@id_trans", idTrans);

    SqlDataReader reader = command.ExecuteReader();

    while (reader.Read()) // построчно считываем данные
    {
        string ert = reader.GetValue(0).ToString() ?? "";
    }                
}

введите сюда описание изображения


Ответы (2 шт):

Автор решения: S.H.

А если так?

        using (SqlConnection connection = new SqlConnection(DBConnection.ConnectionString)) {
            // SqlParameter nameParam = new SqlParameter("@id_trans", idTrans);

            connection.Open();
            SqlCommand command = new SqlCommand(SelectNaklInGroupNakl, connection);
            command.Parameters.AddWithValue("@id_trans", idTrans);

            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read()) // построчно считываем данные
            {

                string ert = reader.GetValue(0).ToString() ?? "";

            }
        }
→ Ссылка
Автор решения: ebw1910

Ошибка заключалась в следующем. При выполнении запроса к Б.Д. необходимы было указывать '' для корректного ввода значения, либо выпадало в ошибку. введите сюда описание изображения

С кавычками всё ок в базе, соответственно я подумал что в программе нужно тоже заключить передаваемый параметр в ''

Но оказалось что так оно не работает. Убрав кавычки всё благополучно заработало. Остается только один вопрос. Как он сам это определил и как это внутри отработало?

→ Ссылка