Because, correct me if I am wrong, but, if I close the connection, the DataSet will become out of scope I started to reply to this, and then saw that Bonnie replied. At the risk of repetition, datasets are disconnected. You can fill them from an adapter, or populate them by other means, and then you can close the connection. The dataset stays intact, unless (as Bonnie stated) you've implemented code to the contrary.