Use an empty DataFrame when there is no data available

Prior to this it would return a dataframe that contains "No Rows Returned", which is fine interactively, but sucks programatically.