Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Связывание данных с элементом управления в WPF↑ ⇐ ПредыдущаяСтр 3 из 3 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
WPF предоставляет в распоряжение программиста гораздо больше возможностей для форматирования, чем Windows Forms, однако в примере, приведенном далее, мы будем выводить на экран данные в том же формате, что и раньше. Полный текст примера находится в проекте DatabindingWPF в коде, сопровождающем эту главу. Реализацию данной задачи см. проект UpdateDatabaseFromDataSet. Вначале напишем на языке XAML (Extensible Application Markup Language, расширяемый язык разметки приложений) код для окна: <Window х:Class="DataBindingWPF.Windowl" xmlns = "http: / /schemas.microsoft. com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Data Binding Demo (WPF)" Height="301" Width="477"> <Grid> <ListView Name="listViewl"> <ListView.View> <GridView> <GridViewColumn Header="ID" Width="35" DisplayMemberBinding="{Binding Path=BookID}"/> <GridViewColumn Header="Title" Width="200" DisplayMemberBinding="{Binding Path=Title}"/> <GridViewColumn Header="Published" Width="70" DisplayMemberBindings"{Binding Path=PublishYear}"/> </GridView> </ListView.View> </ListView> </Grid> </Window> А теперь - код программы: public partial class Windowl: Window { DataSet _dataSet; public Window1() { InitializeComponent(); _dataSet = CreateDataSet(); listView1.DataContext = _dataSet.Tables["Books"]; Binding binding = new Binding(); listView1.SetBinding(ListView.Iterns SourceProperty, binding); } protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { _dataSet.Dispose(); } private DataSet CreateDataSet() { string connectionString = ©"Data source=NICOL_SRV\SQLEXPRESS; Initial Catalog=TestDB;Integrated Security=SSPI"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT * FROM Books", conn)) using (SqlDataAdapter adapter = new SqlDataAdapter()) { adapter.TableMappings.Add("Table", "Books"); adapter.SelectCommand = cmd; DataSet dataSet = new DataSet("Books"); // Поместить все строки в набор данных adapter.Fill(dataSet); return dataSet; } } } } На рис. 17.4 изображена WPF-версия элемента управления DataGrid с информацией из базы данных. Технология WPF позволяет связывать значения в любом элементе управления с источником данных.
Рисунок 17.4 - Элемент управления DataGrid
Рис. 17.5. Веб-страница с данными
Выяснение доступности соединения с базой данных Задача. Ваше приложение работает в условиях ненадежного соединения с базой данных, и вы хотите, чтобы оно приостанавливало операции при обнаружении проблем. Решение. В идеальном варианте базы данных не должны "исчезать" из сети, но в определенных ситуациях приходится проявлять крайнюю осторожность. Реализацию данной задачи см. проект DetectIfDatabaseDown.
Рассмотрим простую функцию, которая делает попытку открыть соединение и возвращает булево значение, позволяющее судить об успешности попытки: private static bool TestConnection() { try { using (SqlConnection conn = new SqlConnection(GetConnectionString())) { conn.Open(); return (conn.State == ConnectionState.Open); } } catch (SqlException) { return false; } catch (InvalidOperationException) { return false; } } Примечание Такой подход не гарантирует, что база данных доступна, ведь на сервере могут возникнуть проблемы уже после того, как функция возвратила true. В конечном счете, код должен быть очень устойчив к сбоям. Однако, как показала практика, эта функция полезна при работе в сети с регулярно пропадающим соединением с базой данных. Задания Вариант 1 Создать на MS SQL Server однотабличную базу данных, представляющую собойсписок моделей продаваемых компьютеров. Каждая запись должна содержать следующую информацию: марка компьютера, тип процессора, тактовая частота процессора, объем оперативной памяти, объем видеопамяти, цена компьютера в условных единицах и количество экземпляров, имеющихся в наличии. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Вариант 2 Создать на MS SQL Server однотабличную базу данных учета нуждающихся в улучшении жилищных условий. Каждая запись должна содержать следующие сведения: фамилия, количество членов семьи, дата постановки в очередь, занимаемая жилая площадь, необходимые жилищные условия (количество комнат и требуемая площадь). Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Вариант 3 Создать на MS SQL Server однотабличную базу данных учета безработных на бирже труда. Каждая запись должна содержать следующие сведения: фамилия, возраст, пол, образование, профессия, должность, стаж работы в последней должности, общий стаж работы, дата постановки на учет, желаемая зарплата, желаемая должность. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Вариант 4 Создать на MS SQL Server однотабличную базу данныхмоделирующую работу станции техобслуживания автомобилей. Каждая запись должна содержать следующие сведения: марка автомобиля, требуемая марка топлива, объем бака, жилая площадь, остаток топлива, объем масла, необходимость мойки.. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Вариант 5 Создать на MS SQL Server однотабличную базу данныхмоделирующую риэлтерскую контору (купля-продажа жилья). Каждая запись должна содержать следующие сведения: район, адрес, количество комнат, жилая площадь, год постройки дома, запрашиваемая стоимость, телефон продавца. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Вариант 6 Создать на MS SQL Server однотабличную базу данных, содержащую информацию о файлах. Для каждого файла в базе данных должны содержаться следующие сведения: имя файла, маршрут поиска, дата создания, количество обращений к файлу. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 7 Создать на MS SQL Server однотабличную базу данных, содержащую информацию об автобусах. Сведения о каждом автобусе содержат: номер автобуса, фамилию и инициалы водителя, номер маршрута, номер автобусного парка. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 8 Создать на MS SQL Server однотабличную базу данных учета заявок на авиабилеты. Каждая заявка содержит: пункт назначения, номер рейса, фамилию и инициалы пассажира, желаемую дату вылета. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 9 Создать на MS SQL Server однотабличную базу данных учета книг в библиотеке. Сведения о книгах содержат: УДК, фамилию и инициалы автора, название, год издания, количество экземпляров данной книги в библиотеке. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 10 Создать на MS SQL Server однотабличную базу данных «Моя записная книжка». Каждая запись в книжке должна содержать: фамилию и инициалы, дату рождения, адрес и номер телефона. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 11 Создать на MS SQL Server однотабличную базу данных учета заявок на обмен квартир и поиска вариантов обмена. Каждая заявка содержит следующие сведения о квартире: город, количество комнат, площадь, этаж, район. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 12 Создать на MS SQL Server однотабличную базу данных учета кандидатов, участвующих в выборах губернатора. Каждая заявка от кандидата содержит: фамилию и инициалы, дату рождения, место рождения, индекс популярности. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 13 Создать на MS SQL Server однотабличную базу данных картотеки абонентов, содержащей сведения о телефонах и их владельцах. Для каждого абонента указываются следующие сведения: номер телефона, адрес абонента, время разговора, стоимость оплаты, сведения об оплате. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний. Вариант 14 Создать на MS SQL Server однотабличную базу данных «Автоматизированная информационная система на железнодорожном вокзале». Информационная система содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: номер поезда, тип поезда (пассажирский или пригородный), станция назначения, время отправления. Для данной базы данных выполнить действия, указанные в разделе 4 настоящих методических указаний.
Литература 1 Нейгел, Кристиан. C# 4.0 и платформа.NET 4 для профессионалов.: пер. с англ./ Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон. – М.: Вильямс, 2011. – 1440 с.
|
||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 499; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.35.129 (0.009 с.) |