U moet de parameters toevoegen voordat u een waarde opgeeft:
mySqlCommand.Parameters.Add("@AreaName", SqlDbType.VarChar);
mySqlCommand.Parameters["@AreaName"].Value =
(string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName));
Overweeg deze alternatieve syntaxis te gebruiken:
mySqlCommand.Parameters.AddWithValue("@AreaName",
(string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName));
U kunt een kort voorbeeld van elk vinden op de SqlCommand.Parameters-eigenschap pagina op MSDN.
Je hebt ook iets funky gedaan met de querystring. Dit zou het moeten oplossen:
mySqlCommand.CommandText =
"SELECT * FROM PlantAreaCodes WHERE (AreaCode IS NULL OR AreaCode LIKE @AreaCode OR AreaName IS NULL OR AreaName LIKE @AreaName OR Comments IS NULL OR Comments LIKE @Comment;";
Om de LIKE
. te krijgen s om correct te werken, moet u waarschijnlijk %
. toevoegen symbolen rond uw parameterwaarden wanneer u ze toevoegt:
var areaName = (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
? (object)DBNull.Value : PModel.AreaName)
mySqlCommand.Parameters.AddWithValue("@AreaName", "%" + areaName + "%");