A. You can't bind a datagrid to more than one datatable (or specifically the DefaultView of a table). When you bind a dataset, the grid binds to the DefaultView of the first table in .Tables.
B. Look at the error you are getting. Your query is returning multiple rows with the same EmployeeID so ADO.NET can't make that column a primary key. You don't have to have a primary key on the datatable to bind it to a grid. However, it seems that you want to bind multiple tables so I'd guess that you are trying to do 1 of two things:
1. Get related data from the second table (you'll need to do some complex binding)
2. Perform a union of data. Instead of trying to merge data in .NET you could use a union query to lump it all together at the database level.
-
Peter