If I do something like this:
using (SqlCommand cmd = new SqlCommand('SELECT * FROM TBL')) { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { string s = reader.GetString(7); } } }
does the Read() call read the entire row into memory, or does the GetString(7) call mean that the reader only ever reads the data in column 7?
it reads the whole row on the read operation.