The reason that new channel preferences isn't saved because its editing isn't finished if click on Save right after editing. So setFocus is called on save button to finish it.
Also more condition is checked and correct on create sqls
To be more descriptive variable idx has been changed to preferred_sohs and database table ChannelPrefer's IDs has been changed to preferredSOHs.