DataSet dts = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(com);
dataGridView2.DataSource = dts;
Where do you fill the data set using your connection ?
dataGridView2.DataMember = dts.Tables[0].ToString();
What ever you think this does, you are wildly mistaken.
I suggest that you both read up on SQL injection attacks, to fix your code at the core, and on how to use C# to access a database, because you clearly don't know. Overall, I'd suggest using entity framework instead, because it's perhaps more intuitive than using a straight data layer, and you're clearly lost right now.
Here[
^] is an article on assigning data to a datagridview. After you work through it, if you're still stuck, by all means, ask more questions and we'd love to help.