Если вы новичок в .NET и используете последнюю версию C #, то я бы порекомендовал вам написать свой код доступа к данным с помощью LINQ.
Вы должны изучить LINQ, но это гораздо более естественночем изучение ADO.NET.
Затем вы будете использовать классы репозитория для написания доступа к данным для вашего приложения, и вы получите гораздо более поддерживаемую кодовую базу.
Я думаю, что решение SlartibartfastЭто правильно, учитывая код, но я публикую это как ответ, а не комментарий, потому что использование LINQ является более легкой кривой обучения.Затем вы можете изучить ADO.NET, если вам нужно.
РЕДАКТИРОВАТЬ:
Я думаю, что биты C #, которые вам нужно прочитать, это LINQ, LINQ to SQL, LINQ to Entities, кака также шаблон репозитория для инкапсуляции кода доступа к данным.Ваш код выше написан с использованием ADO.NET, который является трудным, низкоуровневым способом сделать это.Я считаю, что если у вас нет множества унаследованного кода, тогда LINQ - это путь.
a.LINQ:
LINQ расшифровывается как интегрированный с языком запрос и позволяет вам запрашивать коллекцию объектов так же, как и базу данных.Но это также, в своих вариантах LINQ to SQL и LINQ to Entities, технология доступа к данным.Это позволяет запрашивать, создавать, редактировать и удалять данные в базе данных (или другом хранилище данных).Он «выглядит» как SQL, но имеет строгую типизацию.
b.Шаблон репозитория:
Шаблон репозитория - это шаблон, который позволяет стандартизировать (и тестировать, если так склонен) код доступа к данным, все они инкапсулированы в классе.Это делает ваш код НАМНОГО более понятным.
Интернет наводнен дискуссиями, блогами и примерами использования LINQ.
РЕДАКТИРОВАТЬ, ЧТОБЫ ОБЕСПЕЧИТЬ ОБРАЗЕЦ LINQ ДЛЯ SQL ВАРИАНТ:
Голые кости того, что вы хотите сделать, были бы примерно:
Предполагая, что вы создали файл DBML с именем dbDataContext, и запись, которую вы хотите обновить, находится в таблице с именем MyTable:
// instantiate the datacontext object using the connection string
var db = new dbDataContext("myConnectionString");
// retrieve the record to update
var record = (from r in db.Section where r.Name == "thing" select r).Single();
if (record != null) record.Content = "Content";
try
{
// try to update the database
db.SubmitChanges();
MessageBox.Show("Success!");
}
catch
{
// Darn! Didn't work...
MessageBox.Show("Ooops!");
}
Обратите внимание, насколько это читабельно.