Множество способов.
Используйте ADO.Net и используйте заливку на адаптере данных, чтобы получить DataTable:
using (SqlDataAdapter dataAdapter
= new SqlDataAdapter ("SELECT blah FROM blahblah ", sqlConn))
{
// create the DataSet
DataSet dataSet = new DataSet();
// fill the DataSet using our DataAdapter
dataAdapter.Fill (dataSet);
}
Затем вы можете получить таблицу данных из набора данных.
Примечание в наборе данных с ответом «вверх голос» не используется, (оно появилось после моего ответа).
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
da.Fill(dataTable);
Что предпочтительнее моего.
Я бы настоятельнорекомендую взглянуть на структуру сущностей, хотя ... использование таблиц данных и наборов данных не очень хорошая идея.На них нет безопасности типов, что означает, что отладка может быть выполнена только во время выполнения.Со строго типизированными коллекциями (которые вы можете получить с помощью LINQ2SQL или структуры сущностей) ваша жизнь станет намного проще.
Редактировать: Возможно, я не был понятен: Datatables = good, datasets = evil.Если вы используете ADO.Net, вы можете использовать обе эти технологии (EF, linq2sql, dapper, nhibernate, orm месяца), так как они обычно располагаются над ado.net.Преимущество, которое вы получаете, заключается в том, что вы можете гораздо проще обновлять свою модель по мере изменения схемы, если у вас есть правильный уровень абстракции с помощью генерации кода.
Адаптер ado.net использует поставщиков, которые предоставляют информацию о типебаза данных, например, по умолчанию она использует провайдера sql-сервера, вы также можете подключить - например - devart postgress provider и по-прежнему получать доступ к информации о типе, которая затем позволит вам, как указано выше, использовать выбранную вами форму (почти безболезненно -Есть несколько причуд) - я считаю, что Microsoft также предоставляет провайдера оракула.ВСЁ цель этого - абстрагироваться от реализации базы данных, где это возможно.