При наличии 100 записей (или 1 000 000, если они проиндексированы по имени сотрудника) лучшим вариантом для этого конкретного случая является получение нужного адреса электронной почты с использованием метода ExecuteScalar объекта SqlCommand. Вытягивать всю таблицу через провод, чтобы получить только одно поле, почти всегда плохая идея. Выбрать * даже с предложением where, как правило, тоже плохая идея, как по производительности, так и по причинам обслуживания.
Следующий код даст вам электронный адрес для имени сотрудника.
Using cn as new SqlConnection("Data Source=.\SQLExpress;Initial Catalog=MyDatabase;Integrated Security=True;")
Using cmd as new SqlCommand("SELECT EmailAddress From Employees WHERE EmployeeName = '" & employeeName & "'", cn)
Return TryCast(cmd.ExecuteScalar(), String)
End Using
End Using
Как уже говорили другие, DataTables предназначены для автономного хранения в тех относительно редких случаях, когда это необходимо. И вы правы, нет никаких причин использовать DataSet, если вам не нужно автономно кэшировать всю базу данных (или подмножество базы данных).