Примеры использования dbFacade. (DELETE INSERT UPDATE)
Это продолжение серии моих статей.
Философия dbFacade. Часть 1
Философия dbFacade. Часть 2.1
Философия dbFacade. Часть 2.2
Примеры использования dbFacade. (SELECT)
Начнем, пожалуй, с удаления данных. В dbFacade представлено 4 перезагрузки метода Delete, который удаляет записи из таблицы. Самый простой — удаляет просто все данные. Ему достаточно передать имя таблицы.
db.Delete("Song"); //удалить все записи из таблицы Song
Вторая перезагрузка:
int[] ids = {1,2};
int result = db.Delete("Song", "id", ids); //удалить записи у которых поле id равно одному из перечисленных значений ids
Третий вариант чуть проще предыдущего. Здесь вы сами пишите условие:
int result = db.Delete("Song", "id = 1"); //удалить запись из таблицы Song с id равным 1
Четвертый и самый интересный вариант — с использованием класса ParametersCollection для передачи значений условия в виде параметров:
ParametersCollection parameters = new ParametersCollection();
parameters.Add("", DateTime.Now.Date, DbType.DateTime);
int result = db.Delete("CD", "publish > @date", parameters); //удалить записи, дата публикации которых, больше текущей даты
В качестве результата выполнения функции Delete возвращается число. В случае успеха возвращается 0, иначе больше нуля.
Для вставки новых записей, dbFacade предлагает две функции — Insert и InsertMany. Insert более гибкая, однако InsertMany может добавить в таблицу сразу несколько записей за один сеанс. С другой стороны, если вручную открывать и закрывать соединение, то можно использовать и Insert.
ParametersCollection[] parameters = new ParametersCollection[2];
parameters[0] = new ParametersCollection();
parameters[0].Add("title", "Исполнитель 1", DbType.String);
parameters[0].Add("publish", DateTime.Parse("1.2.2010"), DbType.DateTime);
parameters[1] = new ParametersCollection();
parameters[1].Add("title", "Исполнитель 2", DbType.String);
parameters[1].Add("publish", DateTime.Parse("1.2.2010"), DbType.DateTime);
int result = db.InsertMany("CD", parameters); //вставка сразу нескольких записей
И обычный Insert:
ParametersCollection parameters = new ParametersCollection();
parameters.Add("title", "Новый Исполнитель", DbType.String);
parameters.Add("publish", DateTime.Parse("8.05.2011"), DbType.DateTime);
int result = db.Insert("CD", parameters); //вставка одной записи
Оба приведенных метода вставки в качестве результата возвращают числовое значение. Но если InsertMany возвращает 0 в том смысле, что функция отработала успешно, то Insert возвращает Id последеней вставленной записи. Это относится как к MSSQL, так и к SQLite.
Изменение или обновление данных (Update) работает так же, как и Insert, с использованием класса ParametersCollection.
ParametersCollection parameters = new ParametersCollection();
parameters.Add("title", "Новый Исполнитель", DbType.String);
parameters.Add("publish", DateTime.Parse("8.05.2011"), DbType.DateTime);
int result = db.Update("CD", parameters, "id = 1"); //изменить данные таблицы CD записи, поле id которой равен 1
Вот в принципе и все что можно использовать при работе с dbFacade. Удачного вам кодинга.
Популярность: 9%
Если у вас возникли вопросы, вы можете оставить их в комментариях
Бесплатные частные объявления в разделе "заказ тортов"

Привет, отпиши на почту, есть некоторые вопросы по поводу dbfacade.