Read the error message:
Message=Fill: SelectCommand.Connection property has not been initialized.
It can't be much clearer than that!
So now look at your code that uses the Fill method: there is only one call to Fill in that code:
public DataSet GetDataSetWithSql(string strSQL)
{
DataSet dataset = new DataSet();
command.CommandText = strSQL;
adapter.SelectCommand = command;
adapter.SelectCommand = command;
adapter.Fill(dataset);
return dataset;
}
Where in that code is the Connection set?
No Connection == no idea where to get the data from == error message.