clear the parameters in each iteration and add validation to check the selection
con.Open();
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@ad_id", 10012);
cmd.Parameters.AddWithValue("@subcategory" , ListBox1.Items[i].Value);
cmd.ExecuteNonQuery();
}
}