Как выбирать, обновлять и вставлять данные Sql Server из приложения c # forms - PullRequest
1 голос
/ 12 февраля 2011

Я новичок в .Net и c # и мне нужно написать приложение, которое выполняет некоторые автоматические аппаратные тесты и записывает результаты в базу данных sql server 2000. Мне нужны базовые функциональные возможности, такие как заполнение таблиц и комбинированных списков данными sql, фильтрация списка на основе некоторого пользовательского ввода и вставка / обновление данных sql на основе результатов теста. Мне интересно, есть ли какие-либо рекомендации о том, как это сделать. Datasets? LINQ? SqlConnection Class?

Мне удобно писать SQL-операторы и хранимые процедуры, и я видел примеры вызова sp из c #, но лучше ли это?

Ответы [ 3 ]

4 голосов
/ 12 февраля 2011

Возможно, вы захотите использовать традиционный ADO вместо LINQ, поскольку вы используете SQL Server 2000. Хотя большинство операций LINQ работают нормально с 2000, некоторые не .

Что касается поиска хороших вступлений в ADO.NET, взгляните на примеры в документации MSDN (которые я считаю довольно хорошими):

Здесь - хорошее руководство по использованию GridView с ADO.NET

3 голосов
/ 12 февраля 2011

Вы можете сделать это всеми этими способами.Это действительно сводится к тому, каков ваш конкретный вариант использования и на что способны ваши разработчики.LINQ - более современный подход, но это ORM, и ORM могут быть опасны, если вы не понимаете основную абстракцию.LINQ облегчает работу с данными непосредственно в вашем коде.ADO.NET - это вариант, который нужно учитывать, когда вы хотите использовать прямой SQL, параметризованные запросы или хранимые процедуры в базе данных.Хранимые процедуры обеспечивают приличное разделение проблем, поскольку вы абстрагируете функции, интенсивно использующие данные, в базу данных.

На самом деле, хотя любой вариант сработает, нужно просто взвесить все за и против каждого.Преимущества и недостатки для всех.

3 голосов
/ 12 февраля 2011

Хранимые процедуры - хороший путь.Параметризованные запросы тоже подойдут.(оба защищают от SQL-инъекций, если все сделано правильно.) LINQ также хорош.

Существует множество ресурсов.Мне нравятся видео для начинающих: http://windowsclient.net/learn/videos.aspx

Однако для меня самый простой подход с наименьшими затратами - использовать стандартный System.Data.SqlClient.SqlCommand и используйте его с хранимой процедурой обновления.

...