Реализация доступа к данным с использованием языка программирования C#

Обычная модель доступа к данным и их хранения в приложениях Visual Studio. Общие сведения об источниках данных, о локальных данных. Доступ к данным в объектно-ориентированном языке C#. Создание приложений для обработки данных с помощью Visual Studio 2010.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.12.2018
Размер файла 967,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

C# -- элегантный, типобезопасный объектно-ориентированный язык, предназначенный для разработки разнообразных безопасных и мощных приложений, выполняемых в среде .NET Framework. С помощью языка C# можно создавать обычные приложения Windows, XML-веб-службы, распределенные компоненты, приложения "клиент-сервер", приложения баз данных и т. д. Visual C# предоставляет развитый редактор кода, конструкторы с удобным пользовательским интерфейсом, встроенный отладчик и множество других средств, упрощающих разработку приложений на базе языка C# и .NET Framework.

Синтаксис C# очень выразителен, но прост в изучении. Все, кто знаком с языками C, C++ или Java с легкостью узнают синтаксис с фигурными скобками, характерный для языка C#. Разработчики, знающие любой из этих языков, как правило, смогут добиться эффективной работы с языком C# за очень короткое время. Синтаксис C# делает проще то, что было сложно в C++, и обеспечивает мощные возможности, такие как типы значений Nullable, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти, чего нет в Java. C# поддерживает универсальные методы и типы, обеспечивая более высокий уровень безопасности и производительности, а также итераторы, позволяющие при реализации коллекций классов определять собственное поведение итерации, которое может легко использоваться в клиентском коде. ASP.NET обеспечивает гибкость при подключении к базам данных. Проще всего использовать элементы управления источником данных, позволяющие инкапсулировать доступ к данным в элементе управления, который можно настроить с использованием сведений о подключении и запросе. Или можно написать код для самостоятельного доступа к данным с помощью классов ADO.NET или запросов LINQ.

1. Теоретическая часть

ADO.NET предполагает модель для доступа к данным, в которой вы открываете подключение, получаете данные или выполняете операцию и закрываете подключение. ADO.NET предоставляет две основные стратегии для работы с этой моделью. Первая стратегия -- это сохранение данных в наборе данных, представляющем собой кэш записей в оперативной памяти, с которыми можно работать при отсутствии подключения к источнику данных. Чтобы использовать набор данных сначала необходимо создать его экземпляр, а затем с помощью адаптера данных заполнить его данными из источника данных. После этого можно работать с данными, хранящимися в наборе данных, например, путем связывания элементов управления с членами этого набора.

Альтернативной стратегией является выполнение операций непосредственно с базой данных. В этой стратегии используется запрос объекта TableAdapter или команда для работы с данными, содержащая инструкцию SQL или ссылку на хранимую процедуру. Затем можно выполнить запрос или команду для осуществления необходимых действий. [5]

Хранение данных в наборах данных

Обычной моделью доступа к данным в приложениях Visual Studio является хранение их в наборах данных и использование адаптеров таблиц или адаптеров данных для их чтения и записи в базу данных. Модель наборов данных имеет следующие преимущества:

ѕ Работа с несколькими таблицами Набор данных может содержать несколько таблиц результатов, которые поддерживаются как отдельные объекты. Можно работать с отдельными таблицами или переходить от одной таблицы к другой как от родительской к дочерней.

ѕ Работа с данными из нескольких источников В таблицах наборов данных могут одновременно содержаться данные из разных источников (например, из разных баз данных, из файлов XML, электронных таблиц и т. д. -- все в одном наборе данных). После того, как данные попадают в набор данных, можно управлять ими и устанавливать между ними связи в едином формате, как если бы они имели общий источник.

ѕ Перемещение данных между уровнями в распределенном приложении С помощью хранения данных в наборе данных можно легко перемещать их между уровнем представления, бизнес-уровнем и уровнем данных приложения.

ѕ Обмен данными с другими приложениями Наборы данных позволяют реализовать эффективный способ обмена данными с другими компонентами приложения и с другими приложениями. Наборы данных включают широкую поддержку таких возможностей, как сериализация данных в формате XML, чтение и запись XML-схем.

ѕ Привязка данных При работе с формами обычно проще привязывать элементы управления к данным из набора данных, чем программными средствами загружать значения данных в элементы управления после выполнения команды. [3]

ѕ Сохранение записей для повторного использования Наборы данных позволяют работать с одними и теме же записями несколько раз без повторного обращения к базе данных. С помощью определенных средств набора данных можно осуществлять сортировку и фильтрацию записей, а также использовать набор данных в качестве источника данных при подкачке.

ѕ Облегчение программирования При работе с набором данных можно создать файл класса, предоставляющий структуру набора в виде объектов (например, к таблице Customers набора данных можно получить доступ как к объекту dataset.Customers). Это делает процесс программирования более простым, понятным и менее склонным к ошибкам. Все это поддерживается такими средствами Visual Studio, как IntelliSense, мастер настройки адаптеров данных и т. п.

Выполнение действий с базой данных напрямую

Альтернативой является взаимодействие непосредственно с базой данных. Эта модель предполагает использование объекта команды данных, который содержит инструкцию SQL или ссылку на хранимую процедуру. Затем можно выполнить команду для осуществления необходимых действий.

Непосредственное выполнение операций над базой данных имеет определенные преимущества, в том числе:

ѕ Дополнительные функциональные возможности Как уже упоминалось, некоторые операции, например выполнение команд DDL, можно выполнить только с помощью команд обработки данных.

ѕ Больший контроль над выполнением При использовании команд (а также средства чтения данных, если происходит считывание данных) разработчик получает более прямой контроль над тем, как и когда выполняются инструкции SQL или хранимая процедура и что происходит с результатами или возвращаемыми значениями.

ѕ Снижение дополнительных издержек При чтении (записи) данных непосредственно из базы данных можно не сохранять данные в наборе данных. Поскольку набор данных потребляет ресурсы памяти, то можно сократить дополнительные издержки в приложении. В особенности это характерно для ситуаций, в которых данные скорее всего будут использоваться только один раз, например при отображении результатов поиска на веб-странице. В этом случае создание и заполнение набора данных может быть лишним этапом отображения данных пользователю.

ѕ Снижение трудоемкости программирования в ряде случаев. В некоторых случаях, в частности, при работе с веб-приложениями, для сохранения состояния набора данных требуется дополнительное программирование. Например, страницы Web Forms всякий раз создаются заново в каждом цикле обработки, и, если не запрограммировать сохранение и восстановление набора данных, он тоже будет удаляться и создаваться вновь в каждом цикле обработки. При использовании средства чтения данных для чтения непосредственно из базы данных можно отказаться от дополнительных этапов, необходимых для управления набором данных.

Windows Forms

Как правило, в формах Windows Forms следует использовать наборы данных. Формы Windows Forms обычно используются в толстых клиентах, в которых форма не создается и не удаляется (вместе со своими данными) при каждой пользовательской операции, как это имеет место в Web Forms. Кроме того, приложения Windows Forms традиционно отличаются сценариями доступа к данным, которые получают преимущества от сохранения кэша записей, например, при отображение в форме записей одна за другой.

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

ѕ Если одни и те же записи используются многократно, например, при предоставлении пользователю возможности перемещения между записями.

ѕ При использовании архитектуры привязки данных Windows Forms, которая специально предназначена для работы с наборами данных.

ѕ Во всех случаях, перечисленных выше для Web Forms.

Используйте запрос объекта TableAdapter или команду обработки данных в следующих случаях:

ѕ При получении из базы данных скалярного значения

ѕ При выполнении операции, не являющейся запросом, например команды DDL.

ѕ При получении данных, доступных только для чтения, для отображения в форме -- например, при создании отчета. Иными словами, команды обработки данных используйтся в случаях, когда нет необходимости сохранять данные после осуществления доступа к ним.

Веб-формы

В общем случае следует использовать команды обработки данных; для извлечения данных следует использовать объект чтения данных. Поскольку страницы Web Forms, а также их элементы управления и компоненты создаются каждый раз заново в каждом цикле обработки -- нецелесообразно создавать и заполнять набор данных всякий раз, если не предполагается его кэширование между циклами обработки.

Набор данных следует использовать в следующих ситуациях:

ѕ При работе с несколькими отдельными таблицами или таблицами из разных источников данных.

ѕ При обмене данными с другими приложениями или компонентами, такими как веб-службы XML.

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

ѕ В случае, если обработка данных включает работу со взаимозависимыми записями (например, при поиске сведений в связанных записях).

ѕ Если над данными нужно выполнить операции XML, например преобразования XSLT.

ѕ Если предпочтительно использование простых средств программирования, предоставляемых наборами данных.

Веб-службы XML

Веб-службы XML -- это приложения ASP.NET и потому они используют ту же модель, что и страницы Web Forms: веб-службы XML создаются и удаляются всякий раз, когда осуществляется их вызов. Отсюда следует, что модель доступа к данным для веб-служб XML, в основном, та же, что и для Web Forms. Однако веб-службы XML часто являются объектами промежуточного уровня и часто применяются главным образом для обмена данными с другими приложениями через Интернет.

Используйте наборы данных в следующих случаях:

ѕ Если веб-служба XML отправляет и получает данные -- например, отправляет возвращаемые значения методов, а принимает их в качестве аргументов методов. Это основное соображение при выборе способа работы с данными для веб-служб XML; даже если существуют другие соображения в пользу команд обработки данных, необходимость обмена данными с другими компонентами практически однозначно указывает на то, что следует использовать наборы данных.

ѕ Во всех случаях, перечисленных выше для форм Web Forms.

Используйте команды обработки данных (а при необходимости -- средство чтения данных) в следующих случаях:

ѕ Веб-служба XML извлекает скалярное значение.

ѕ Веб-служба XML выполняет операцию, не являющуюся запросом, например, команду DDL.

Веб-служба XML вызывает хранимую процедуру для выполнения действий внутри базы данных.

1.1 Общие сведения об источниках данных

Источники данных представляют данные доступные для приложения или, точнее, они представляют данные, которые уже известны и требуются для работы приложения.Можно создавать источники данных, выбрав команду Добавить новый источник данных из меню Данные или из окна Источники данных. Источники данных могут создаваться на основе базы данных (включая файлы локальной базы данных), веб-служб и объектов. [2]

Создание и изменение источников данных

Visual Studio предоставляет средства разработки для создания и редактирования источников данных, используемых в приложении. Источники данных в проектах Visual Studio представлены как наборы данных или другие типы объектов, в зависимости от объектов, возвращаемых базовым хранилищем данных.

Создание и редактирование всех типов источников данных с помощью Мастера настройки источников данных. Кроме того, источники данных, созданные как наборы данных, можно также изменять с помощью Конструктора наборов данных.

Источники данных, создаваемые из баз данных

Можно создать источник данных из базы данных, запустив Мастер настройки источников данных и выбрав тип источника данных База данных.

Создание источников данных из базы данных добавляет типизированный набор данных в проект на основе объектов отдельной базы данных, добавляемых в источник данных. Например, при создании источника данных на основе определенных таблиц в базе данных создается типизированный набор данных с таблицами данных, которые соответствуют выбранным таблицам. Для получения примера такого источника данных выполните процедуры в Пошаговое руководство. Подключение к данным в базе данных.

Источники данных, создаваемые на основе веб-служб

При создании источника данных на основе веб-службы в проект добавляется ссылка на веб-службу и создаются объекты, которые соответствуют объектам, возвращаемым веб-службой. Например, веб-служба, которая возвращает набор данных, представляется в проекте как набор данных; веб-служба, возвращающая определенные типы или объекты, представляется в проекте как возвращаемый тип или объект.

Источники данных, создаваемых на основе объектов

Источники данных могут создаваться на основе любого объекта, предоставляющего одно или несколько общих свойств. Не требуется реализации каких-либо интерфейсов или открытых конструкторов по умолчанию для создания источника данных на основе объекта. Все общие свойства отображаются в окне Источники данных, и можно перетащить их на форму в приложении Windows для создания элементов управления с привязкой к данным. Может потребоваться построить проект, содержащий объект, прежде чем объект отобразится в окне мастера. Чтобы уменьшить количество ненужных объектов, все объекты в проекте не отображаются автоматически в окне Источники данных. Их можно добавить при необходимости с помощью Мастера настройки источников данных.

1.2 Общие сведения о локальных данных

Термин локальные данные относится к конфигурации соединения между приложением и файлом базы данных на локальном компьютере (в отличие от наличия подключения к базе данных на удаленном сервере). Файлы базы данных SQL Server Compact 3.5 (SDF), SQL Server и файлы баз данных SQL Server Express (MDF) и файлы базы данных Microsoft Access (MDB) являются файлами, которые в настоящее время могут поддерживаться как локальные базы данных.

Можно создавать подключения к файлам базы данных с помощью Мастер конфигурации источников данных, Диалоговое окно "Добавление нового элемента" или узла Подключения к данным в Обозревателе серверов/Обозревателе баз данных.

После создания источника данных, настроенного для доступа к локальному файлу данных, вы работаете с данными с помощью тех же технологий и объектов, что и при работе с данными из любого другого источника.[1]

База данных является частью приложения

Используя подход с использованием локальных данных, можно не только подключаться к файлу базы данных, но и интегрировать файл базы данных в приложение. Например, можно нажать кнопку Добавить существующий элемент в меню Проект, перейти к существующему SDF-, MDF- или MDB-файлу и добавить файл в проект.

Примечание Если используется Мастер настройки источника данных для создания источника данных из локального файла, последует запрос, включать ли файл в проект. Если этого не сделать, приложение будет содержать только строку подключения, жестко указывающую путь, а не сам файл данных.

При добавлении локальных файлов данных создается типизированный набор данных и строка динамического подключения, которая указывает файл базы данных в приложении. При добавлении в проект файлов базы данных используйте Мастер настройки источника данных для выбора объектов для включения в набор данных.

После завершения работы мастера файл базы данных и набор данных отображаются в Обозревателе решений/Обозревателе баз данных, и выбранные объекты базы данных доступны в окне Источники данных. Можно перетащить элементы из окна Источники данных на форму для создания элементов управления с привязкой к данным. (Выберите Показать источники данных из меню Данные для открытия окна Источники данных.

В каждом проекте существуют две копии базы данных

При построении проекта файл базы данных может быть скопирован из корневой папки проекта в выходную папку (bin). (Нажмите кнопку Показать все файлы в Обозревателе решений для просмотра папки bin.) Подобное поведение зависит от свойства файла Копировать в папку вывода. По умолчанию свойство Копировать в папку вывода зависит от используемого типа файла базы данных.

Файл базы данных в корневой папке проекта изменяется только при изменении схемы базы данных или данных с помощью Обозревателя серверов/Обозревателя баз данных или иных Средства Visual Database Tools.

Поведение файла базы данных зависит от значения свойства Копировать в выходной каталог, которое описывается в следующей таблице.

В процессе разработки приложения любые изменения данных (при выполнении приложения) вносятся базу данных в папке bin. Например, при нажатии клавиши F5 для отладки приложения выполняется подключение к базе данных в папке bin. [6]

Общие проблемы локальных данных

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

Проблема

Объяснение

Каждый раз при проверке моего приложения и изменении данных мои изменения пропадают при следующем запуске приложения.

Копировать в папку вывода имеет значение Копировать, если новее или Копировать всегда. Эти параметры будут перезаписывать базу данных в выходную папку (база данных изменялась при тестировании приложения) каждый раз при построении проекта.

Получено сообщение о том, что файл данных заблокирован

Убедитесь, что файл не открыт в другой программе, например в Microsoft Access.

SQL, экспресс-выпуск блокирует файл данных при попытке скопировать, переместить или переименовать файл данных вне Visual Studio IDE.

Отказано при попытке доступа к базе данных одновременно двумя пользователями

Visual Studio использует преимущества пользовательских экземпляров, средства SQL Server Express, где отдельный экземпляр SQL Server создается для каждого пользователя. Когда один пользователь обращается к файлу, все последующие пользователи не смогут подключиться. Это может произойти, если, например, при попытке запуска веб-приложений в ASP.NET Development Server и IIS в одно и то же время, поскольку IIS обычно выполняется под другой учетной записью.

1.3 Доступ к данным в C#

Для доступа к данным на платформе .NET используется библиотека классов ADO.NET. Основу этой библиотеки составляют класс DataSet и классы, реализующие следующие основные интерфейсы: IDbConnection, IDbCommand, IDataReader, IDataAdapter. Используя ADO.NET возможно реализовать как классические клиент-серверные приложения, в которых клиентское приложение напрямую обращается к базе данных с помощью SQL-запросов, так и многоуровневые рассоединенные приложения, в которых важно иметь возможность работать с не имеющими постоянного подключения к серверу баз данных копиями данных. Главную роль в создании рассоединенных приложений играет класс Dataset, позволяющий создавать локальный набор взаимосвязанных таблиц. Также необходимо отметить, что с помощью ADO.NET можно обращаться к самым различным источникам данных. Работы с различными источниками данных реализована с помощью управляемых провайдеров (managed provider). Управляемый провайдер - набор классов, реализующих интерфейсы IDbConnection, IDbCommand, IDataReader, IDbDataAdapter и предназначенный для работы с определенным источником данных. Для работы с Microsoft SQL Server и Oracle используются провайдеры SQL и Oracle, оптимизированные для работы именно с этими СУБД. Кроме того, в состав ADO.NET включен провайдер OLEDb, позволяющий работать с любыми источниками данных, поддерживающих протокол OLE DB. Интерфейс IDbConnection (реализован в классе SqlConnection провайдера SQL) - предназначен для создания соединения (connection) с источником данных. Для указания источника данных для создания соединения используется строка соединения (connection string). Строка соединения содержит пары "параметр=значение", разделенных символом точка с запятой. Информация, которая должна быть указана в строке соединения, зависит от источника данных. При создании соединения с Microsoft SQL Server необходимо указать значения для следующих параметров: server - имя компьютера (или его IP адрес), на котором установлен Microsoft SQL Server; uid - учетная запись пользователя Microsoft SQL Server, от имени которого создается соединение; pwd - пароль учетной записи пользователя Microsoft SQL Server, от имени которого создается соединение; database - имя базы данных, с которой необходимо создать соединение. Строка соединения может быть указана при вызове конструктора объекта класса SqlConnection, либо через присвоение значения свойству ConnectionString интерфейса IDbConnection. Для открытия соединения с базой данных используется метод void Open() интерфейса IDbConnection. Для закрытия соединения с базой данных используется метод void Close() интерфейса IDbConnection. Шаблон работы с соединением:

SqlConnection con = new SqlConnection("server=..;uid=..;pwd=..;database=..);

con.Open();

try{

...

} finally{

con.Close();

}

На практике используются два варианта работы с соединением с базой данных. Если количество пользователей невелико и клиентское приложение при этом часто обращается к базе данных рекомендуется создать один объект соединения с базой данных для всего приложения и держать соединение открытым в течение всего времени работы приложения. Если количество пользователей велико и клиентское приложение не часто обращается к базе данных, рекомендуется открывать соединение только на время выполнения запросов и использовать организацию пула соединений (connection pooling). Открытие соединения с базой данных обычно требует определенного времени и ресурсов. Пул соединений содержит коллекцию открытых соединений с базой данных. При вызове метода Open пул соединений проверяет наличие свободного соединения в пуле и возвращает его клиентскому приложению. При вызове метода Close соединение фактически не закрывается, а возвращается обратно в пул соединений. Соединения объединяются в пул соединений по признаку совпадения строки соединения. Если открывается соединение, в котором строка соединения отличается от строки, использованной в предыдущих соединениях, создается новый пул соединений. Использование пула соединений позволяет существенно повысить производительность приложений с большим количеством одновременно работающих пользователей. Использование пула соединений включено по умолчанию при работе с ADO.NET

Рекомендуется выносить информацию о строке соединения во внешний файл или хранить ее в реестре. Такой подход позволяет гибко, безопасно и централизованно настраивать подключение к источнику данных. Для доступа к реестру используется класс RegistryKey. Для указания требуемой корневой ветки реестра используются статические поля CurrentUser и LocalMachine класса Registry. Данные поля применяются для инициализации переменных типа RegistryKey. Для открытия нужной ветки реестра используется метод RegistryKey CreateSubKey(string subkey), который открывает существующую ветку реестра или создает новую. Для чтения значения из реестра применяется метод object GetValue(string name). Для записи значения в реестр применяется метод void SetValue(string name,object value). Шаблон чтение значения из реестра:

RegistryKey key=Registry.CurrentUser;

key=key.CreateSubKey("ветка реестра");

try {

value=(string)key.GetValue("параметр");

if (value == null) throw new Exception();

}

catch {

key.SetValue("параметр", "значение");

}

Интерфейс IDbCommand (реализован в классе SqlCommand провайдера SQL) - предназначен для выполнения произвольных SQL запросов к базе данных. Текст SQL запроса обычно указывается при вызове конструктора объекта класса SqlCommand. Также при вызове конструктора следует указать объект соединения с базой данных. При формировании строки SQL запроса можно использовать форматирование строк с помощью статического метода Format класса String. Для выполнения SQL запроса к базе данных, который не возвращает в качестве результата набора записей, используется метод int ExecuteNonQuery() интерфейса IDbCommand. При вызове метод возвращает количество записей, задействованных при выполнении запроса. Данный метод применяется при выполнении таких запросов, как, например, INSERT, UPDATE, DELETE или выполнении содержащих их хранимых процедур, а также запросов языка манипулирования данными и языка управления данными. Шаблон выполнения метода ExecuteNonQuery:

SqlConnection con;

...

SqlCommand com = new SqlCommand("текст запроса SQL",con);

try{

com.ExecuteNonQuery();

}

catch(Exception ex){

}

Так как при выполнении запроса SQL могут возникнуть различные ошибки, рекомендуется помещать вызов метода ExecuteNonQuery в блок try-catch. Для выполнения SQL запроса к базе данных, который возвращает в качестве результата набор записей, используется метод IDataReader ExecuteReader(CommandBehavior behavior) интерфейса IDbCommand. В классе SqlCommand также определен упрощенный метод SqlDataReader ExecuteReader(). Метод ExecuteReader применяется для получения данных из базы данных, которые в клиентском приложении доступны только для чтения (read-only) и могут быть просмотрены только по порядку (forward-only). Использование ExecuteReader особенно эффективно для получения большого количества данных, поскольку полученные данные не кэшируются в оперативной памяти. Для чтение следующей записи из объекта, поддерживающего интерфейс IDataReader, используется метод bool Read() интерфейса IDataReader, возвращающий значение true, если запись успешно прочитана, и false в противном случае. Необходимо обратить внимание на тот факт, что метод Read должен быть вызван до первого обращения к полям записи. Для чтения значений в полях очередной записи можно использовать метод object GetSqlValue (int i) класса SqlDataReader, в качестве параметра которого указывается номер поля (нумерация полей начинается с нуля). Также для доступа к значениям полей можно использовать индексатор по номеру или по имени поля. Шаблон выполнения метода ExecuteReader:

SqlConnection con; ... SqlCommand com = new SqlCommand("текст запроса SQL",con);

try{

SqlDataReader rd = cmd.ExecuteReader();

while (rd.Read())

{ for (int i = 0; i < rd.FieldCount; i++)

object value=rd.GetSqlValue(i);

или object value=rd[i];

}

}

catch(Exception ex)

{

}

finally{ rd.Close();

}

Если имена полей известны, то шаблон выполнения метода ExecuteReader может выглядеть следующим образом: SqlConnection con; ... SqlCommand com = new SqlCommand("текст запроса SQL",con);

try{ SqlDataReader rd = cmd.ExecuteReader();

while (rd.Read()){ object value=rd["имя поля"];

}

}

catch(Exception ex){ } finally{ rd.Close();

}

Рекомендуется выносить тексты запросов SQL, которые используются при работе с интерфейсом IDbCommand, во внешний файл или в таблицу в базе данных. Подобное решение позволяет существенно упросить разработку и сопровождение программы. Внешний файл, хранящий тексты запросов SQL, может иметь формат XML.

Для доступа к файлам в формате XML используется класс XmlDocument. Для открытия требуемого файла используется метод void Load(string filename) класса XmlDocument. Для нахождения в документе XML требуемого узла по его имени используется метод XmlNode SelectSingleNode(string xpath) класса XmlDocument. В качестве параметра методу SelectSingleNode передается запрос XPath, в котором указывается информация о требуемом узле.

На практике часто используются следующие шаблоны запросов XPath: "//узел" - выбор узла по его имени; "//узел[@атрибут='значение']" - выбор узла по его имени и значению атрибута. Для доступа к содержимому узла применяется класс XmlNode. Информация в узле может находится в форме текстового значения узла или в форме атрибутов узла. Для доступа к текстовому значению узла используются свойства string Value{ get; set; } и string InnerText{ get; set; } класса XmlNode. Шаблон получения текстового значения узла по его имени: XmlDocument doc=new XmlDocument();

try{ doc.Load("имя файла");

XmlNode node=doc.SelectSingleNode("//имя узла");

string value=node.Value;

}

catch(Exception ex){

}

Для доступа к атрибутам узла используется свойство XmlAttributeCollection Attributes{ get; } класса XmlNode, возвращающее коллекцию объектов класса XmlAttribute. Доступ к элементам коллекции атрибутов может производится по индексу или по имени. Для доступа к текстовому значению атрибута используется свойство string Value{ get; set; } класса XmlAttribute. Шаблон получения атрибута узла по его имени: XmlDocument doc=new XmlDocument();

try{

doc.Load("имя файла");

XmlNode node=doc.SelectSingleNode("//имя узла");

string value=node.Attributes["имя атрибута"].Value;

}

catch(Exception ex){

}

Для доступа к подчиненным узлам используется свойство XmlNodeList ChildNodes{ get; } класса XmlNode, возвращающее коллекцию объектов класса XmlNode. Шаблон перебора подчиненных узлов заданного по имени узла: XmlDocument doc=new XmlDocument(); try{ doc.Load("имя файла"); XmlNode node=doc.SelectSingleNode("//имя узла"); foreach(XmlNode child in node.ChildNodes){ string value=child.Value; } } catch(Exception ex){ } Для хранения текстов запросов SQL можно использовать файл XML со следующей структурой: текст запроса Шаблон выполнения запроса SQL, текст которого сохранен в файле XML с приведенной выше структурой:

string query; XmlDocument doc=new XmlDocument();

try{ doc.Load("имя файла"); XmlNode node=doc.SelectSingleNode("//query[@name='имя запроса']"); query=node.Value;

}

catch(Exception ex){

}

SqlConnection con= new SqlConnection("server=...;uid=...;pwd=...;database=...");

con.Open();

SqlCommand com = new SqlCommand(query,con);

try{ com.ExecuteNonQuery();

}

catch(Exception ex){

}

Интерфейс IDataAdapter (реализован в классе SqlDataAdapter провайдера SQL) - предназначен для заполнения данными из источника данных объекта DataSet и последующего обновления источника данных в соответствии со сделанными в объекте DataSet изменениями. Текст SQL запроса для получения данных обычно указывается при вызове конструктора объекта класса SqlDataAdapter. Также при вызове конструктора следует указать объект соединения с базой данных. При формировании строки SQL запроса можно использовать форматирование строк с помощью статического метода Format класса String. Для заполнения объекта DataSet данными используется метод int Fill(DataSet dataSet) интерфейса IDataAdapter. При вызове метод возвращает количество записей, переданных в объект DataSet. Шаблон выполнения метода Fill:

SqlConnection con;

...

DataSet data;

SqlDataAdapter ad = new SqlDataAdapter("текст запроса SQL",con);

try{ ad.Fill(data);

}

catch(Exception ex){

}

Для доступа к таблице в объекте DataSet используется свойство DataTableCollection Tables{ get; } класса DataSet, возвращающее коллекцию объектов класса DataTable. Доступ к элементам коллекции таблиц может производится по индексу или по имени. Для доступа к требуемой записи таблицы используется свойство DataRowCollection Rows { get; } класса DataTable, возвращающее коллекцию объектов класса DataRow. Доступ к элементам коллекции записей производится по индексу. Для доступа к требуемому полю записи таблицы используется индексатор по номеру или по имени поля класса DataRow. Шаблон чтения данных объекта DataSet:

DataSet data;

...

for(int i=0; i < data.Tables[0].Rows.Count; i++){

for(int j=0; j < data.Tables[0].Columns.Count; j++){

object value=data.Tables[0].Rows[i][j];

}

}

Для изменения значений в полях таблицы в объекте DataSet необходимо присвоить новое значение полю требуемой записи. DataSet data; ... data.Tables[0].Rows[номер записи][номер поля]=значение; data.Tables[0].Rows[номер записи]["название поля"]=значение; Для добавления новой записи в таблицу в объекте DataSet необходимо создать новую запись, вызвав метод DataRow NewRow() класса DataTable, присвоить значения полям созданной запис и добавить запись в коллекцию записей таблицы, вызвав метод void Add(DataRow row) свойства Rows класса DataTable. DataSet data;

...

DataRow row=data.Tables[0].NewRow();

row["название поля"]=значение;

...

data.Tables[0].Rows.Add(row);

Для удаления записи из таблицы в объекте DataSet необходимо вызвать метод void Delete() класса DataRow, а затем вызвать метод void AcceptChanges() класса DataTable.

DataSet data;

...

data.Tables[0].Rows[номерзаписи].Delete(); data.Tables[0].AcceptChanges();

Для сохранения всех сделанных в объекте DataSet изменений в источник данных необходимо вызвать метод int Update(DataSet dataSet) интерфейса IDataAdapter. При вызове метод возвращает количество записей, измененных в источнике данных. DataSet data; ... try{ ad.Update(data);

}

catch(Exception ex){}

1.4 Создание приложений для обработки данных с помощью Visual Studio 2010

Visual Studio предоставляет множество средств разработки, которые призваны помочь пользователю в процессе создания приложений, получающих доступ к данным. Это введение представляет обзор основных процессов, задействованных при создании приложений, работающих с данными. В приведенной здесь информации намеренно пропущены многие подробности, она может использоваться как источник общих сведений и содержит ссылки на многие страницы помощи, связанные с созданием приложений, работающих с данными.

При разработке приложений, работающих с данными в Visual Studio, могут возникнуть различные требования. В некоторых случаях нужно только отобразить данные в форме. В других случаях может потребоваться разработать способ обмена информацией с другими приложениями или процессами.

Основная архитектура данных, используемая для создания приложений в Visual Studio, является ADO.NET. Для всех операций, выполняемых с данными, существуют некоторые основные понятия, которые следует понимать. Возможно, вам никогда не потребуется узнать некоторые сведения об обработке данных -- например, может не потребоваться программно создавать базу данных. В то же время, очень полезно понимать основные понятия ADO.NET, так же как и умение использовать средства для работы с данными (мастера и конструкторы), доступные в Visual Studio.

Общие задачи по работе с данными в приложении могут быть подразделены на несколько процессов верхнего уровня. Например, прежде чем отобразить данные пользователю на форме, необходимо сначала подключиться к источнику данных (к базе данных или к службе, предоставляющей данные) а затем выбрать данные, которые требуется отобразить. После импорта этих данных в приложение, может потребоваться способ для их временного хранения, например объекты DataSet или LINQ to SQL.

Обычные приложения, работающие с данными, будут использовать большинство процессов, показанных в следующей диаграмме (Рис 1.)

Рис 1. Цикл данных

Подключение к данным

Чтобы перенести данные в приложение (и отправить изменения обратно в источник данных), необходимо установить двустороннее соединение. Этот двусторонний обмен данными обычно обрабатывается подключением TableAdapter в приложениях, использующих наборы данных, или DataContext для приложений, использующих LINQ to SQL. Visual Studio предоставляет несколько средств для упрощения создания подключений, которые могут быть использованы в приложении.

Выборка данных в приложение

Вне зависимости от того, использует ли приложение модель отключенных данных, необходимо обеспечить загрузку данных в приложение. Данные в приложение загружаются путем выполнения запроса или хранимых процедур над базой данных. Приложения, хранящие данные в наборах данных, выполняют запросы и хранимые процедуры с помощью TableAdapter, тогда как приложения, хранящих данные в объектах LINQ to SQL выполняют запросы с помощью Запросы LINQ to SQL и выполняют хранимые процедуры с помощью Методы DataContext (реляционный конструктор объектов).

Дополнительные сведения о загрузке данных в наборы данных и объекты LINQ to SQL и выполнении запросов и хранимых процедур содержатся в разделе Выборка данных в приложение. [11]

Отображение данных на форме в приложении Windows

После переноса данных в приложение их обычно отображают на форму для просмотра или изменения. Visual Studio предоставляет Окно "Источники данных", где можно перетащить элементы на форму, чтобы автоматически создать элементы управления с привязкой к данным, отображающие данные.

Редактирование данных в приложении

После того как пользователям были выведены данные, они, скорее всего, будут изменять их путем добавления новых, редактирования и удаления существующих записей до их передачи обратно в базу данных. Эти изменения выполняются через управление отдельными объектами DataRow, составляющими таблицы в наборе данных. разделе Редактирование данных в приложении. [7]

Проверка данных

Обычно при внесении изменений в данные необходимо проверить изменения перед разрешением внесения значений в набор данных или в базу данных. Проверка -- это имя процесса, проверяющего эти новые значения на соответствие требованиям приложения. Для проверки значений в приложении по мере их изменения пользователь может добавить логику. Visual Studio предоставляет средства, помогающие добавлять код, проверяющий данные во время изменения столбцов и строк. [7]

Сохранение данных

После внесения изменений в приложении (и проверки этих изменений), обычно требуется отправить изменения обратно в базу данных. Приложения, хранящие данные в наборах данных, обычно используют TableAdapterManager для сохранения данных. Приложения, хранящие данные в объектах LINQ to SQL, используют метод SubmitChanges для сохранения данных.

Чтобы отправить обновленные данные из набора данных в базу данных, выполните действия, описанные в разделе Пошаговое руководство. Сохранение данных связанных таблиц данных (иерархическое обновление). [8]

2. Практическая часть

Как мы видели, начиная с Обзор Вставка, обновление и удаление данных GridView предоставляет встроенную поддержку для изменения уровня строк и удаления. С помощью нескольких щелчков мыши имеется возможность создать интерфейс изменения сложных данных без написания кода, при условии, что вы являетесь содержимого с помощью изменения и удаления на основе данных в ряду.Однако в некоторых случаях этого недостаточно, и нам необходимо предоставить пользователям возможность изменения или удаления пакета записей.

Например наиболее веб-клиенты электронной почты использование сетки списка каждое сообщение где каждая строка содержит флажок наряду с информацией по электронной почте s (тему, отправитель и т. д.). Этот интерфейс позволяет пользователю удалить несколько сообщений, пометив их и нажав кнопку Удалить выбранные сообщения. Интерфейс для редактирования пакета идеально подходит в ситуациях, где пользователи часто изменять многие различные записи. Вместо того, когда пользователь нажмет кнопку Изменить, их изменения и нажмите кнопку обновления для каждой записи, которую нужно изменить, интерфейс для редактирования пакета подготавливает к просмотру каждой строки с его интерфейс редактирования. Пользователь может быстро изменить набор строк, которые должны быть изменены и затем сохранить эти изменения, нажав кнопку "Обновить все".

При выполнении пакетных операций его сбой, важно определить, будет ли возможно, для некоторых операций в пакете, для успешного выполнения хотя другим пользователям. Сначала удалить запись откатить или приемлемо для первой записи остаются удаленные.

Если требуется пакетную операцию следует рассматривать как атомарной операции, один где либо все действия для успешного выполнения или сбой все действия, а затем уровень доступа к данным необходимо дополнить для поддержки базы данных транзакции. Транзакции базы данных обеспечения атомарности операций для набора INSERT, UPDATE, и DELETE -- это функция, поддерживаемая все большинство современных баз данных и выполняются в рамках транзакции инструкции.

2.1 Постановка задачи

Целью данной курсовой работы является получение доступа к данным с использованием языка программирования C#.При работе с данным один вариант -- встраивать логику конкретных данных непосредственно в слой представления (в веб-приложения образуют уровень представления страниц ASP.NET). Это может занять виде написания кода ADO.NET в часть кода страницы ASP.NET или с помощью элемента управления SqlDataSource из части, содержащей разметку. В любом случае этот подход жестко связывает логики доступа к данным со слоем представления. Рекомендуемый подход, то для разделения логики доступа к данным от уровня представления.Этот отдельный уровень называется уровня доступа к данным, коротко DAL и обычно реализуется в виде отдельного проекта библиотеки классов.

2.2 Реализация

Чтобы начать создание DAL, начнем с добавления типизированного набора данных в свой проект. Для этого щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите команду Добавить новый элемент.(Рис.2)

Рис.2 Создание типизированного набора данных

Чтобы приступить к определению запроса SQL, сначала необходимо указать как мы хотим TableAdapter будет выдавать запрос. Мы можно использовать инструкцию SQL ad-hoc, создать новую хранимую процедуру или использовать существующую хранимую процедуру.(Рис.3)

Рис.3 Запрос данных с помощью инструкции SQL Ad-Hoc

На этом этапе можно ввести запрос SQL вручную. При создании первого метода в адаптере таблиц обычно требуется запрос возвращает те столбцы, которые должны выражаться в соответствующем объекте DataTable.(Рис.4)

Рис.4 Запрос SQL

Можно также использовать построитель запросов и графически конструирования запроса(Рис.5)

Рис.5 Построитель запросов

2.3 Результаты

Результатом работы является успешное подключение к БД (Рис.6)

Получение доступа к данным базы данных (Рис7)

Рис.7

Вывод данных из БД (Рис.8)

Рис.8

Заключение

Сохранение данных - процесс переноса изменений данных в приложении обратно к исходному хранилищу данных, обычно реляционной базе данных, например SQL Server.

Так как набор данных является кэшем данных, то есть их копией в памяти, процесс записи сведений в исходный источник данных отделен от процесса изменения данных в наборе данных. Можно отправить обновленные данные из наборов данных обратно к базе данных путем вызова одного из методов Update TableAdapter или вызвать один из методов DBDirect объекта TableAdapter. Visual Studio содержит компонент TableAdapterManager, который помогает при выполнении сохранения данных в связанных таблицах. Этот компонент обеспечивает выполнение сохранения в требуемом порядке, основанном на ограничениях внешних ключей, определенных в базе данных. Обновление источника данных посредством набора данных осуществляется в два этапа. Первый этап - это обновление набора данных и добавление новых сведений: новых записей, измененных записей или удаленных записей. Если приложение отвечает только за обработку набора данных, (например после обновления набора данных он отправляется в другое приложение, которое выполняет дальнейшую обработку набора данных), тогда обновление заканчивается. Структурно набор данных делает данные доступными в качестве набора коллекций. Наборы данных содержат коллекции таблиц. Таблицы содержат коллекции строк. Таблицы предоставляются как коллекция объекта DataSet, и записи доступны в коллекции Rows объектов DataTable. Таким образом, можно вносить изменения в данные набора данных, просто управляя этими коллекциями, используя базовые методы работы с ними. Однако если требуется обновить базовый источник данных, необходимо использовать специальные методы изменения наборов данных.

Список используемых источников

visual studio приложение данные

1. [Герберт Шилдт] C# 4.0 Полное руководство (Герберт Шилдт).

2. [Т.А. Павловская, 2005] Security C# Программирование на языке высокого уровня (Т.А. Павловская) 2005.

3. [Джозеф Албахари, Бен Албахари,2000] C# 6.0. Справочник. Полное описание языка (Джозеф Албахари, Бен Албахари) 2000.

4. [Джозеф Албахари, Бен Албахари, 2001] LINQ. Карманный справочник (Джозеф Албахари, Бен Албахари) 2001.

5. [Элеонора Ишкова,2002] Самоучитель С#. Начала программирования (Элеонора Ишкова) 2002.

6. [О. В. Герман, Ю. О Герман, 2006] Программирование на Java и С# для студента (О. В. Герман, Ю. О Герман), 2006.

7. [Пол Дейтел, Харви Дейтел,2013] Как программировать на Visual C# 2012 (Пол Дейтел, Харви Дейтел), 2013.

8. [Петцольд Ч,2012] Программирование в тональности С# (Петцольд Ч.).2012.

9. [Хейлсберг А, 2002] Язык программирования C# 4.0 (Хейлсберг А. 2012), 2002.

10. [Эндрю Стиллмен, 2014] Эндрю Стиллмен -- Изучаем C#, 3-е издание -- 2014.

11. [Рихтер Дж.,2008] Рихтер Дж. CLR via C#: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, 2008.

Приложение

using System;

using System.Data.SqlClient;

using System.Data;

namespace Students

{

class Program

{

static void Main(string[] args)

{

string connStr = @"Data Source=(local)\SQLEXPRESS;

Initial Catalog=Test;

Integrated Security=True";

SqlConnection conn = new SqlConnection(connStr);

try

{

conn.Open();

}

catch (SqlException se)

{

Console.WriteLine("Ошибка подключения:{0}", se.Message);

return;

}

Console.WriteLine("Соедение успешно произведено");

CreateNewTable(conn);

InsertToTable(conn);

ShowFields(conn);

UpdateFromTable(conn);

ShowFields(conn);

DeleteFromTable(conn);

ShowFields(conn);

DeleteTable(conn);

conn.Close();

conn.Dispose();

}

private static void DeleteTable(SqlConnection conn)

{

using (SqlCommand cmdDeleteTable = new SqlCommand("DROP TABLE Students", conn))

{

try

{

cmdDeleteTable.ExecuteNonQuery();

}

catch

{

Console.WriteLine("Ошибка при удалении таблицы");

return;

}

}

Console.WriteLine("Таблица удалена успешно");

}

private static void DeleteFromTable(SqlConnection conn)

{

using (SqlCommand cmd = new SqlCommand("Delete From Students" +

" where ID = @ID or FIO = @FIO", conn))

{

SqlParameter param = new SqlParameter();

param.ParameterName = "@ID";

param.Value = 100;

param.SqlDbType = SqlDbType.Int;

cmd.Parameters.Add(param);

param = new SqlParameter();

param.ParameterName = "@FIO";

param.Value = "Иванов Иван";

param.SqlDbType = SqlDbType.Text;

cmd.Parameters.Add(param);

Console.WriteLine("Удаляем запись");

try

{

cmd.ExecuteNonQuery();

}

catch

{

Console.WriteLine("Ошибка, при выполнении запроса на удаление записи");

Console.WriteLine("Возможно запись уже удалена");

return;

}

}

}

private static void UpdateFromTable(SqlConnection conn)

{

using (SqlCommand cmd = new SqlCommand("Update Students" +

" Set ID = @ID where FIO = @FIO", conn))

{

SqlParameter param = new SqlParameter();

param.ParameterName = "@ID";

param.Value = 100;

param.SqlDbType = SqlDbType.Int;

cmd.Parameters.Add(param);

param = new SqlParameter();

param.ParameterName = "@FIO";

param.Value = "БД";

param.SqlDbType = SqlDbType.Text;

cmd.Parameters.Add(param);

Console.WriteLine("Изменяем запись(и)");

{

try

{

cmd.ExecuteNonQuery();

}

catch

{

Console.WriteLine("Ошибка, при выполнении запроса на изменение записи(ей)");

return;

}

}

}

}

private static void ShowFields(SqlConnection conn)

{

using (SqlCommand cmd = new SqlCommand("Select * From Students", conn))

{

using (SqlDataReader dr = cmd.ExecuteReader())

{

for (int i = 0; i < dr.FieldCount; i++)

Console.Write("{0}\t", dr.GetName(i).ToString().Trim());

Console.WriteLine();

while (dr.Read())

{

Console.WriteLine("{0}\t{1}\t{2}", dr.GetValue(0).ToString().Trim(),

dr.GetValue(1).ToString().Trim(),

dr.GetValue(2).ToString().Trim());

}

}

}

}

private static void CreateNewTable(SqlConnection conn)

{

using (SqlCommand cmdCreateTable = new SqlCommand("CREATE TABLE " +

" Students (ID int not null" +

", FIO char(60) not null," +

" Grupa char(20) not null)", conn))

{

try

{

cmdCreateTable.ExecuteNonQuery();

}

catch

{

Console.WriteLine("Ошибка при создании таблицы");

return;

}

}

Console.WriteLine("Таблица создана успешно");

}

private static void InsertToTable(SqlConnection conn)

{

using (SqlCommand cmd = new SqlCommand("Insert into Students" +

"(ID,FIO,Grupa) Values (@ID,@FIO,@Grupa)", conn))

{

SqlParameter param = new SqlParameter();

param.ParameterName = "@ID";

param.Value = 10;

param.SqlDbType = SqlDbType.Int;

cmd.Parameters.Add(param);

param = new SqlParameter();

param.ParameterName = "@FIO";

param.Value = "БД";

param.SqlDbType = SqlDbType.Text;

cmd.Parameters.Add(param);

param = new SqlParameter();

param.ParameterName = "@Grupa";

param.Value = "4-2";

param.SqlDbType = SqlDbType.Text;

cmd.Parameters.Add(param);

Console.WriteLine("Вставляем запись");

try

{

cmd.ExecuteNonQuery();

}

catch

{

Console.WriteLine("Ошибка, при выполнении запроса на добавление записи");

return;

}

}

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

    курсовая работа [1,4 M], добавлен 17.01.2016

  • Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.

    методичка [2,1 M], добавлен 11.09.2014

  • Исследование алгоритма взаимодействия пользователя с сервером, на котором находится база данных. Реализация безопасности информационной системы с помощью возможностей программного комплекса Visual Studio. Анализ особенностей интерфейса веб-приложения.

    курсовая работа [1,3 M], добавлен 17.06.2017

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Системный анализ и анализ требований к базе данных. Особенности создания отчетов, запросов и форм в Visual Studio 2012. Программная реализация ER-диаграммы. Создание инфологической, логической и физической модели базы данных. Генерация ее в SQL Server.

    курсовая работа [1,0 M], добавлен 22.11.2012

  • Требования к MS Office 2007. Набор средств разработки Visual Studio Tools for Office как альтернатива VBA. Разработка СУБД на базе MS Access. Разработка надстройки "Электронные компоненты" для PowerPoint на языке C# в среде MS Visual Studio 2010.

    дипломная работа [5,2 M], добавлен 03.05.2013

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Принципы построения информационной системы и ее реализация. Разработка программы доступа к данным автомобильного предприятия города на объектно-ориентированном языке программирования C Sharp. Расчет эффективности разрабатываемого програмного продукта.

    дипломная работа [4,3 M], добавлен 15.05.2012

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Создание баз данных с помощью специальных программных и языковых средств. Инструкция по использованию реляционной СУБД Access для хранения и доступа к данным по расчету сметы на выполнение работ по объекту: информация об их объеме и общей стоимости.

    курсовая работа [3,5 M], добавлен 18.03.2011

  • Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации. Описание классов, их свойства. Спецификаторы доступа private и public. Доступ к элементам объекта. Сущность константного метода.

    лабораторная работа [485,9 K], добавлен 22.10.2013

  • Проблемы, связанные с отсутствием информационной системы. Проектирование логической схемы данных для выбранной предметной области на основе методологии IDEF1X. Разработка информационной системы с использованием MS SQL Server 2008 и MS Visual Studio 2010.

    курсовая работа [3,0 M], добавлен 07.08.2013

  • Понятие математического программирования. Класс как тип структуры, позволяющий включать в описание типа не только элементы данных, но и функции. Рассмотрение основных особенности языка программирования C++. Характеристика среды MS Visual Studio 2008.

    контрольная работа [318,0 K], добавлен 13.01.2013

  • Microsoft Access - система управления базой данных, предназначенная для создания и обслуживания баз данных, обеспечения доступа к данным и их обработки. Разработка базы данных для хранения данных о книгах, покупателях, персонале книжного магазина.

    курсовая работа [6,2 M], добавлен 14.11.2011

  • Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.

    отчет по практике [834,4 K], добавлен 27.11.2013

  • Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.

    курсовая работа [3,6 M], добавлен 23.12.2014

  • Разработка программы, обеспечивающей ввод и редактирование информации (новостей) об объектах в соответствии с заданной предметной областью. ER-модель базы. Исходный код программы. Доступ к данным, осуществляемый с использованием средств JDBC или ODBC.

    лабораторная работа [624,1 K], добавлен 13.11.2014

  • Разработка модели и создание структуры реляционной базы данных. Организация данных в таблицах для предоставления оперативного доступа к данным. Основные структурные единицы базы данных Access: таблицы, запросы, формы, отчеты, страницы, макросы и модули.

    реферат [4,0 M], добавлен 03.02.2013

  • Устройства внешней памяти. Система управления базами данных. Создание, ведение и совместное использование баз данных многими пользователями. Понятие системы программирования. Страницы доступа к данным. Макросы и модули. Монопольный режим работы.

    реферат [27,5 K], добавлен 10.01.2011

  • HTML5 — язык для структурирования и представления содержимого для всемирной паутины, а также основная технология, используемая в Интернете. Создание web-приложения и использованием технологии Asp.net MVC 3 и языка web-разметки HTML5. Состав платформы MVC.

    курсовая работа [1,2 M], добавлен 25.05.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.