Two changes:
qry = "Update ProgramDetails.Subjects set SubjectCode=@SubjectCode,SubjectName=@SubjectName,SubjectType=@SubjectType,UserID=@UserID,Password=@Password where IDNumber=@IDNumber"
and then insert before
cmd.ExecuteNonQuery()
cmd.Parameters.Add(New SqlParameter("@IDNumber", txtIDNumber.Text))