Quote:
if special character is there in companyDB or catDB, then it is showing some thing like system . like that. If I remove special character from there every thing is coming perfectly
That's because DisplayMember and ValueMember use Properties to access the actual data in the data source - which means that the string you pass to to them must be than name of a valid property in C#. So it has to follow the C# rules for variable names, which
do not include special characters.
I think you have made some terrible decisions here: it looks like you have a separate table for each company, and that's a very, very bad idea. Keep them data together, and use a separate table to contain all company names, with an ID value in your main table:
Companies:
ID Name Address ....
1 Bob's Bakers ...
2 Mike-the-Bike ...
Purchases:
ID CompId Date ItemID Price ....
1 1 2017-02-14 77123 ...
2 1 2017-02-15 78554 ...
3 2 2017-02-15 65882 ...
Then you pull out what you need from that using WHERE clauses (and JOINs as applicable). Keeping separate tables for each company is just ridiculous - what if two companies have the same name? You can't have two tables with the same name!