- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Обработка баз данных на Visual Basic®.NET - Джеффри Мак-Манус
Шрифт:
Интервал:
Закладка:
Для создания этого приложения выполните перечисленные ниже действия.
1. Запустите интегрированную среду разработки Visual Studio .NET и создайте новый проект Visual Basic Windows Application. Для этого в диалоговом окне New Project (Новый проект) выберите тип проекта Visual Basic Project в области Project Types (Типы проектов), а затем шаблон Windows Application (Приложение Windows) в области Templates (Шаблоны).
2. Назовите проект BusinessCaseIO.
3. Укажите путь к файлам проекта.
4. Увеличьте размер формы Form1.
5. В окне свойств Properties укажите значение frmPrepareXML для свойства (Name) и значение Prepare XML для свойства Text формы Form1.
6. В верхнем левом углу формы создайте кнопку, перетаскивая ее из панели элементов управления.
7. В окне свойств Properties укажите значение btnInventory для свойства (Name) и значение Create Inventory XML для свойства Text этой кнопки.
В верхней части файла введите следующий код:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Затем в определении класса формы frmPrepareXML введите приведенный ниже код.
Dim en As New SqlConnection _
("data source=localhost;initial catalog=Novelty;user id=sa")
Private Sub btnInventory_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnlnventory.Click
Dim dsInventory As New DataSet()
Dim daInventory As New SqlDataAdapter _
("select * from tblInventory ", en)
daInventory.Fill(dsInventory, "tblInventory")
' Сохранение поля ID как XML-атрибута, а не элемента
dsInventory.Tables("tblInventory").Columns("ID").ColumnMapping = _
MappingType.Attribute
' Сокрытие поля WholesalePrice в сохраненном XML-файле
dslnventory.Tables("tbllnventory").Columns _
("WholesalePrice").ColumnMapping = MappingType.Hidden
' Сохранение данных в XML-файле, включая встроенную схему.
dsInventory.WriteXml("..Inventory.xml", XmlWriteMode.WriteSchema)
End Sub
После вставки данных в объект DataSet для формирования XML-файла используются следующие два выражение. Первое выражение указывает на то, что поле ID следует сохранить как XML-атрибут:
dsInventory.Tables("tblInventory").Columns("ID").ColumnMapping = _
MappingType.Attribute
Второе выражение указывает на сокрытие поля WholesalePrice в сохраненном XML-файле:
dslnventory.Tables("tbllnventory").Columns _
("WholesalePrice").ColumnMapping = MappingType.Hidden
Наконец, во время сохранения данных используется второй параметр метода WriteXML, который указывает на необходимость включения XSD-схемы вместе с данными. Полученный в результате XML-файл показан в листинге 10.8.
Листинг 10.8. Пример сохранения таблицы tblInventory в виде XML-файла<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="tblInventory">
<xs:complexType>
<xs:sequence>
<xs:element name="ProductName" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
<xs:element name="RetailPrice" type="xs:decimal" minOccurs="0" msdata:Ordinal="3" />
<xs:element name="Description" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
</xs:sequence>
<xs:attribute name="ID" type="xs:int" />
<xs:attribute name="WholesalePrice" type="xs:decimal" use="prohibited" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<tblInventory ID="1">
<ProductName>Rubber Chicken</ProductName>
<RetailPrice>2.99</RetailPrice>
<Description>The quintessential rubber chicken.</Description>
</tblInventory>
<tblInventory ID="2">
<ProductName>Joy Buzzer</ProductName>
<RetailPrice>9.99</RetailPrice>
<Description>They will get a real shock out of this.</Description>
</tblInventory>
<tblInventory ID="3">
<ProductName>Seltzer Bottle</ProductName>
<RetailPrice>15.24</RetailPrice>
<Description>Seltzer sold separately.</Description>
</tblInventory>
<tblInventory ID="4">
<ProductName>Ant Farm</ProductName>
<RetailPrice>14.99</RetailPrice>
<Description>Watch ants where they live and breed.</Description>
</tblInventory>
<tblInventory ID="5">
<ProductName>Wind-Up Robot</ProductName>
<RetailPrice>29.99</RetailPrice>
<Description>Giant robot: attack toybox!</Description>
</tblInventory>
<tblInventory ID="6">
<ProductName>Rubber Eyeballs</ProductName>
<RetailPrice>0.99</RetailPrice>
<Description>Peek-a-boo!</Description>
</tblInventory>
<tblInventory ID="7">
<ProductName>Doggy Mess</ProductName>
<RetailPrice>1.99</RetailPrice>
<Description>Yechhh!</Description>
</tblInventory>
<tblInventory ID="8">
<ProductName>Mini-Camera</ProductName>
<RetailPrice>9.99</RetailPrice>
<Description>For future spies!</Description>
</tblInventory>
<tblInventory ID="9">
<ProductName>Glow Worms</ProductName>
<RetailPrice>1.99</RetailPrice>
<Description>Makes them easy to find</Description>
</tblInventory>
<tblInventory ID="10">
<ProductName>Insect Pops</ProductName>
<RetailPrice>0.99</RetailPrice>
<Description>Special treats</Description>
</tblInventory>
<tblInventory ID="11">
<ProductName>Alien Alarm Clock</ProductName>
<RetailPrice>45.99</RetailPrice>
<Description>Do you know what time it is out there?</Description>
</tblInventory>
<tblInventory ID="12">
<ProductName>Cinnamon Toothpicks</ProductName>
<RetailPrice>1.99</RetailPrice>
<Description>Really wakes up your mouth</Description>
</tblInventory>
</NewDataSet>
Для составления ведомости на выдачу заработной платы сотрудникам компании нужно создать код сохранения информации о сотрудниках в формате XML для каждого отдела. Для этого разработчик базы данных должен включить в форму frmPrepareXML вторую кнопку btnEmployees и вставить в код класса формы frmPrepareXML код из листинга 10.9.
Листинг 10.9. Код сохранения данных из таблиц tblEmployee и tblDepartment в XML-файлеPrivate Sub btnEmployees_Click (ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnEmployees.Click
Dim dsEmployees As New DataSet()
Dim daEmployees As New SqlDataAdapter _
("select * from tblEmployee", en)
Dim daDepartments As New SqlDataAdapter _
("select * from tblDepartment", en)
daDepartments.Fill(dsEmployees,"tblDepartment")
daEmployees.Fill(dsEmployees, "tblEmployee")
' Определение отношения между таблицами.
dsEmployees.Relations.Add("DepartmentEmployees", _
dsEmployees.Tables("tblDepartment").Columns("ID"), _
dsEmployees.Tables("tblEmployee").Columns("DepartmentID"))
' Сохранение данных в XML-файле.
dsEmployees.WriteXml("..Employees.xml")
End Sub
В этом коде для сохранения данных из таблиц tblDepartment и tblEmployee в XML-файле используются предлагаемые по умолчанию параметры объекта DataSet. Полученный в результате XML-файл Employees.xml показан в листинге 10.10.
Листинг 10.10. XML-файл Employees. xml, полученный в результате сохранения данных из таблиц tblDepartment и tblEmployee<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<tblDepartment>
<ID>1</ID>
<DepartmentName>Administration</DepartmentName>
</tblDepartment>
<tblDepartment>
<ID>2</ID>
<DepartmentName>Engineering</DepartmentName>
</tblDepartment>
<tblDepartment>
<ID>3</ID>
<DepartmentName>Sales</DepartmentName>
</tblDepartment>
<tblDepartment>
<ID>4</ID>
<DepartmentName>Marketing</DepartmentName>
</tblDepartment>
<tblEmployee>
<ID>1</ID>
<FirstName>Carole</FirstName>
<LastName>Vermeren</LastName>
<DepartmentID>2</DepartmentID>
<Salary>222</Salary>
</tblEmployee>
<tblEmployee>
<ID>2</ID>
<FirstName>Cathy</FirstName>
<LastName>Johnson</LastName>
<DepartmentID>2</DepartmentID>
<Salary>13000</Salary>
</tblEmployee>
<tblEmployee>
<ID>3</ID>
<FirstName>Eric</FirstName>
<LastName>Haglund</LastName>
<DepartmentID>4</DepartmentID>
<Salary>12000</Salary>
</tblEmployee>
<tblEmployee>
<ID>4</ID>
<FirstName>Julie</FirstName>
<LastName>Ryan</LastName>
<DepartmentID>1</DepartmentID>
<Salary>4000</Salary>
</tblEmployee>
<tblEmployee>
<ID>5</ID>
<FirstName>Richard</FirstName>

