Я получаю сообщение об ошибке
Параметризованный запрос '(@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;
}
}