Параметризованный запрос ***, который не был предоставлен - PullRequest
0 голосов
/ 04 марта 2019

Я получаю сообщение об ошибке

Параметризованный запрос '(@MuscleId int, @ FitnessId nvarchar (4000)) SELECT ExerciseId, Naam' ожидает параметр '@FitnessId', который не был

Я пытался исправить это с помощью parameter.Value = DBNull.Value.Но я все еще получаю ту же ошибку, потому что, вероятно, я делаю это неправильно.

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

(MGX.MuscleId и X.FitnessId обаустановлено в int)

Код:

private void Exercises()
{
    string query = "SELECT ExerciseId, Naam FROM Xercises AS X " +
            "INNER JOIN MG_Exercise AS MGX ON MGX.ExerciseId = X.ExerciseId " +
            "WHERE MGX.MuscleId = @MuscleId AND X.FitnessId = @FitnessId";

    using (connection = new SqlConnection(connectionString))
    using (SqlCommand command = new SqlCommand(query, connection))
    using (SqlDataAdapter adapter = new SqlDataAdapter(command))
    {
        SqlParameter param = command.Parameters.AddWithValue("@MuscleId", comBoxMuscleGroup.SelectedValue);
        SqlParameter param2 = command.Parameters.AddWithValue("@FitnessId", comBoxTypeFitness.SelectedValue);

        if (param.Value == null)
        {
            param.Value = DBNull.Value;
        }

        if (param2.Value == null)
        {
            param2.Value = DBNull.Value;
        }

        DataTable Xdata = new DataTable();
        adapter.Fill(Xdata);    *****ERROR*****

        clbXcercises.DisplayMember = "Naam";
        clbXcercises.ValueMember = "ExerciseId";
        clbXcercises.DataSource = Xdata;
    }
}
...