Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Тема 6. Отображение данных на форме приложения. Понятие Источника данных. Создание элементов управления для отображения данных из таблицы.





Одним из наиболее распространенных сценариев в разработке приложений является отображение данных на форме в приложении на базе Windows. Вы можете отображать данные на форме, перетаскивая элементы из окно "Источники данных" на форму. Привязанные к данным элементы управления с метками описания отображаются на форме вместе с панелью инструментов (BindingNavigator) для перемещения по записям. В области компонентов появляется NorthwindDataSet, CustomersTableAdapter,BindingSource и BindingNavigator.

Тема 7. Редактирование данных базы данных в приложении. Открытие набора данных в конструкторе наборов данных. Создание и выполнение инструкций SQL. Выполнение хранимой процедуры, возвращающей строки. Выполнение хранимой процедуры, возвращающей одиночное значение.

Чтобы добавить новые записи в набор данных, нужно создать новую строку данных и добавить ее в коллекцию DataRow (Rows) набора данных (DataTable).

Чтобы добавить запись в нетипизированный набор данных следует вызвать метод NewRow объекта DataTable, чтобы создать новую пустую строку. Эта новая строка наследует структуру столбцов из таблицы данных DataColumnCollection. Следующий код создает новую строку, заполняет ее данными и добавляет ее в коллекцию Rows таблицы.

DataRow newSuppliersRow = suppliersGoods.Tables["Suppliers"].NewRow();

newSuppliersRow["CodeSuppliers"] = 1;

newSuppliersRow["Title"] = "Tecnis";

newSuppliersRow["City"] = "Москва";

newSuppliersRow["Country"] = "Россия";

В этом примере предполагается, что набор имеет DataTable Suppliers, которая имеет столбцы с именами CodeSuppliers, Title, City, Country. Типизированные наборы данных предоставляют имена столбцов в виде свойств объекта типизированного DataRow; в этом случае CustomersRow.

В следующем примере обяъвляется новый экземпляр класса SuppliersRow, назначается ему новая строка, заполняются столбцы данными и добавляется новая строка в коллекцию Rows таблицы Suppliers:

static DataSet SuppliersGoods = new DataSet();

suppliersGoods.SuppliersRow newSuppliersRow =

suppliersGoods.Suppliers.NewSuppliersRow();

NewSuppliersRow.CodeSuppliers = "1";

NewSuppliersRow.Title = "Tecnis";

newSuppliersRow.City = "Москва";

newSuppliersRow.Country = "Россия";

suppliersGoods.Suppliers.Rows.Add(NewSuppliersRow);

Обычно, мы не знаем индекс строки, которую необходимо изменить. В типизированных наборах применяется метод FindBy, который использует первичный ключ таблицы для поиска строки.

С помощью метода FindBy нужно присвоить определенной переменной значение найденного объекта DataRow и затем использовать эту переменную для доступа к столбцам, которые требуется изменить и присвоить им новые значения.

В следующем примере столбец CustomerID является первичным ключом таблицы Customers, поэтому метод FindBy генерируется как FindByCustomerID. В этом примере "ALFKI" - искомое значение первичного ключа.

 

NorthwindDataSet.CustomersRow customersRow =

northwindDataSet1.Customers.FindByCustomerID("ALFKI");

customersRow.CompanyName = "Updated Company Name";

customersRow.City = "Seattle";

Для обнаружения определенной строки и присвоения новых значений нужным столбцам следует использовать метод Select объекта DataTable.

В следующем примере столбец CustomerID является первичным ключом таблицы Customers, поэтому вызов метода Select и поиск по первичному ключу вернет единственную строку. Возвращаемый тип по-прежнему представляет собой массив строк DataRow, поэтому мы получаем доступ по индексу (0), или обращаемся к первой строке в массиве.

DataRow[] customerRow =

dataSet1.Tables["Customers"].Select("CustomerID = 'ALFKI'");

customerRow[0]["CompanyName"] = "Updated Company Name";

customerRow[0]["City"] = "Seattle";

Чтобы найти строку в нетипизированном наборе данных по известному значению первичного ключа следует вызвать метод Find из коллекции DataRowCollection, передав первичный ключ в качестве параметра.

В следующем примере показано, как объявить новую строку с именем foundRow и присвоить ей возвращаемое значение метода Find. Если первичный ключ найден, содержимое индекса столбца 1 отображается в окне сообщения.

string s = "primaryKeyValue";

DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);

Метод Select возвращает массив DataRow на основе выражения, переданного методу Select. Ниже приведена таблица перегрузки этого метода.

В следующем примере показано использование метода Select объекта DataTable для поиска конкретных строк.

DataRow[] foundRows;

foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");

Чтобы обновить существующие записи в типизированных наборах данных (индекс строки известен) присвойте значение определенному столбцу в объекте DataRow. Типизированные наборы данных используют раннюю привязку, которая предоставляет имена таблиц и столбцов в виде свойств в режиме разработки. Результатом этого становится более легкий для чтения и записи код. В следующем примере показано обновление данных в столбцах CompanyName и City пятой записи таблицы Customers в наборе данных:

northwindDataSet1.Customers[4].CompanyName = "Updated Company Name";

northwindDataSet1.Customers[4].City = "Seattle";

Date: 2016-07-20; view: 310; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию