string updateSql = "UPDATE Courses " + "SET coursePrice = @price, StartDate=@date, Duration=@duration, Venue=@venue " + "WHERE Venue = @courseNo";
Note the final parameter: "@courseNo".
Where do you set it? You set all the others!
BTW: An UPDATE command does not add any records - it modifies an existing one. So you are either using the wrong SQL command and want INSERT instead, or your method name is wrong, as well as your message box!