No, you had it right the first time. You should be setting the .DisplayMember and .ValueMember properties just as you were initially.

I'm fairly certain that the issue is arising from what you are assigning to the .DataSource property. Given your "MasterBase" database interaction approach, I'm not sure what the correct object is that you would assign to .DataSource, but what you are assigning to it in the code in your first post just doesn't seem right to me.

Edit to add:

...Or maybe it is correct. Note that the code in your opening post is missing a space after SELECT. I'm assuming that is just a typo in your posted code. If that space is actually missing in your production code, then your query can't be working at all in the first place.