With just that code fragment and no error message, it's pretty much impossible to tell, but it's likely that you are using the wrong DataAdapter.
Try:
SqlDataAdapter da = new SqlDataAdapter(q,constr);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
And if that doesn't work, we would need the error message, and the line it is complaining about.