I recommend you create a custom class that has a property for each of the data columns. Iterate the database resultset (be it a SqlDataReader or DataTable or whatever) and create an array of your custom class. One per record. Assign the array to the Session.
You could of course just bung the disconnected DataTable or DataSet straight into the session variable. But, they don't serialize very efficiently. I would not recommend this approach if your application has a lot of users say more than 25.