C# — С# и отображение БД


Содержание

10 фич в C#, о которых вы определённо должны узнать и начать их использовать

Если вы только начали изучение C# или же решили расширить свои знания, мы нашли для вас 10 фич, знание которых позволит вам избежать ошибок, писать более понятный код и сохранить кучу времени.

1. async / await

Использование паттернов async / await позволяет разблокировать UI / текущий поток во время выполнения блочных операторов. Паттерны async / await позволяют коду продолжить выполнение, даже если что-то блокирует его выполнение (например, веб-запрос).

2. Инициализаторы объектов / массивов / коллекций

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

3. Лямбды, предикаты, делегаты и замыкания

Эти фичи просто незаменимы во многих случаях: например, при использовании LINQ. Поэтому рекомендуем вам убедиться, что вы действительно понимаете, когда и как их использовать.

4. ?? (Оператор объединения с NULL)

x ?? y — возвращает x , если значение отличается от null ; в противном случае возвращает y .

Может быть несколько операторов .

?? также может быть использован для перевода типов null в не null :

5. $”” (Интерполяция строк) — C# 6

Фича в C# 6 позволяет эффективно и элегантно собирать строки:

6. ?.(определяет null) — C# 6

x?.y — доступ к членам, определяемый условием null . Возвращает значение null , если левый операнд имеет значение null .

Больше никаких NullReferenceExceptions!

7. Выражение nameof — C# 6

Может показаться, что выражение nameof не особо полезно, но это не так. При использовании автоматических инструментов рефакторинга (например, ReSharper) иногда может потребоваться обратиться к аргументу метода по его имени:

Вот, как это должно быть:

8. Инициализаторы свойств (property) — C# 6

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

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

9. Операторы as и is

Is — совместимость типов. Возвращает значение true, если вычисленный левый операнд может быть приведен к типу, указанному в правом операнде (статический тип).

As — преобразование типов. Возвращает левый операнд, приведенный к типу, заданному правым операндом (статический тип), но as возвращает null , где (T)x вызывает исключение.

10. Ключевое слово yield

Ключевое слово yield позволяет заполнить интерфейс IEnumerable объектами (items). Следующий пример вернет все степени двойки от 2 до 2 в степени 8 (то есть 2, 4, 8, 16, 32, 128, 256):

В правильных руках yield — очень мощная вещь. Оно позволяет с легкостью генерировать последовательность объектов, то есть системе не придется перечислять всю коллекцию целиком — это может быть сделано по требованию.

Действия с записями в базе данных. Диалоговый режим

В предыдущей статье «Примеры SQL-запросов. Microsoft SQL Server и язык T-SQL» были представлены инструменты Microsoft Server 2012 для отработки запросов и выполнено сравнение с с их обработкой в консольном приложении. В данной статье представлены примеры задания и обработки запросов в диалоговом режиме с использованием той же базы данных Garage.

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

Требуется представить обработку запросов на удаление, обновление и вставку записей в оконном приложении и в режиме диалога.

Решение

Пользовательский интерфейс приложения представим в следующем виде:

Компонент listBox1 будем использовать для отображения результатов работы с БД (запросы или сообщения об ошибках. Элемент comboBox1 для выбора имени таблицы (Cars, Drivers, Routes). При нажатии кнопки «Показать содержимое» отображаются записи выбранной таблицы. Если имя таблицы не выбрано, отображается содержимое первой таблицы Cars.

Идентификатор записи задает значение ключевого поля выбранной таблицы. При нажатии кнопки «Удалить запись с ID» запись удаляется, если имеется запись с заданнымID. Ничего не происходит, если номер ID в соответствующей таблице отсутствует. При ошибке формата при задании ключевого поля выводится соответствующее сообщение.

Наиболее частой операцией в БД будет задание поля «работа/выходной». Используя кнопку «Обновить: работа/выходной» и задавая идентификатор записи в вышележащем окне мы можем внести соответствующие изменения.

Для вставки новой записи в таблицу Drivers необходимо задать идентификатор новой записи (при вводе уже существующего ID должно появиться сообщение об ошибке), Фамилию и имя водителя, выбрать режим его работы (радио-кнопками).

Аналогично выполняются действия по вставке записей в таблицы Cars и Routes. Ошибки ввода также должны обрабатываться.

Подключение к БД будет осуществляться также, как в предыдущем примере.

Программирование

Необходимые действия по подготовке подключения к БД выполним в конструкторе формы Form1( ).

Для отображения любой из трех таблиц в listBox1 зададим метод DBread4toListBox(string table), где table — имя таблицы (Cars, Drivers или Routes). Для выбора имени таблицы с помощью элемента comboBox1 зададим метод NameTableFromComboBox(). Аналогично для извлечения имени ключевого поля выбранной таблицы будем использовать метод GetID( ).

Шести кнопкам button1, …, button 6 (пронумерованы сверху вниз) соответствуют шесть обработчиков событий: Button1_Click( ), … , Button6_Click( ). Каждый из шести методов начинается с оператора cn.Open( ) и завершается оператором cn.Close( ), где cn определяет подключение к БД. Это означает, что подключение к БД осуществляется только для выполнения заданной операции, после чего сразу производится отключение. Помните, что что современные базы данных могут и должны работать одновременно с несколькими пользователями.

Для методов, связанных с удалением и вставкой записей для фильтрации возможных ошибок при задании параметров запросов используется конструкция try < >— catch < >.

Программный код модуляForm1.cs:

Проверка

Стандартные действия по проверке результатов запросов:
1) просмотр содержимого выбранной таблицы (кнопка 1);
2) выполнение запроса (кнопки 2 — 6);
3) анализ результата;
4) контроль выполнения (снова кнопка 1).

Пожелание читателю

Сообщите в комментариях о возможных ошибках при выполнении запросов. Я просматриваю их ежедневно.

Взаимодействие с базами данных на C# (си шарп)

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

Уточним, что данные в ВБД хранятся только во время исполнения программы. Рассмотрим на примере базы данных с именем myDataBase.mdb, в которой есть таблица student. Для работы на компьютере должен быть установлен драйвер ODBC. В панели управления («источники данных ODBC») необходимо настроить путь к источнику данных и дать ему имя (в нашем примере — dbsource).

Для обеспечения взаимодействия с базой данных необходимо подключить следующие библиотеки:
[php]
using System.Data;
using System.Data.Odbc;[/php]

Для соединения с базой данных необходимо определить следующие объекты:
[php]private OdbcConnection cn; // для открытия доступа
private OdbcDataAdapter da1; //для загрузки РБД в ВБД
private OdbcCommandBuilder cmdb1; //для сохранения изменений в РБД
private DataSet ds; // для соединения
private DataTable dt; //объявление таблицы (ВБД)[/php]

Открываем соединение:
[php]
ds = new DataSet();
cn = new OdbcConnection(«Dsn=dbsource»); //источник данных
cn.Open();[/php]

Теперь формируем адаптеры, чтобы скопировать РБД в ВБД. С помощью SQL запроса отбираем все данные из таблицы student:
[php]da1 = new OdbcDataAdapter(«select * from student», cn);
cmdb1 = new OdbcCommandBuilder(da1);//создаем объект для последующей записи изменений
da1.Fill(ds, «tests»); // «заливаем» данные в адаптер
Теперь окончательно записываем скопированные данные в виртуальную таблицу с именем dt:
dt = ds.Tables[0];[/php]
Здесь «ноль» — это порядковый номер таблицы в нашей ВБД; нумерация начинается с нуля.

Теперь можем пользоваться данными нужным образом. Например, загрузим фамилии студентов в поле со списком:
[php]foreach (DataRow dr in dt.Rows) //перебираем все строки (rows) таблицы
< comboBox1.Items.Add(dr["fios"].ToString()); >[/php]

Здесь следует обратить внимание, что при обращении к данным мы используем названия столбцов реальной БД.
Теперь хотим добавить в таблицу новую фамилию, для чего мы ранее создали объект Command Builder:
[php]DataRow drs = dt.NewRow(); // создаем новую строку в таблице
drs[«fios»] = «Иванов»; //задаем значение
dt.Rows.Add(drs); //подтверждаем добавление строки
da1.Update(ds, «student»); // обновляем – вносим изменения в ВБД[/php]

. создание базы на си шарп рнабота с БД в С sharp база данных в си шарп робота с бд си шарп создание базы данных си шарп

C#.MVC. Модель и подключение к БД

– Создание базы и таблицы в ней

– Подключение к данным при помощи EntityFramework (подход Code First)

– Вывод данных в представление

Создание БД и таблицы

Работаем с MS SQL и Management Studio. Открываем ее и подключаемся

При подключении у меня 2 опции

Первая – более менее полноценная как я понимаю SQLEXPRESS и вторая (localdb) – облегченная – для разработчиков, как я понимаю.

Строки подключения в Visual Studio к ним будут соответственно

Итак, выберем SQLEXPRESS и создадим в ней базу

Правой кнопкой мыши на Базы данных – > Создать базу данных

Раскроем ее и в таблицах добавим нашу первую таблицу Books и 4 поля как на картинке снизу

Далее изменим поле Id на автоинкрементное и сделаем это поле первичным ключом

И сохраним наши изменения. Теперь заполним нашу таблицу какими-нибудь данными. Для этого, нажмем на Таблицы – > Обновить. Далее, на нашей таблице – dbo.Books – выберем изменить первые 200 строк.

Далее, заполним некоторыми данными

И выполним код SQL, нажав на правую кнопку мыши на таблице

Работа с БД в C# [закрыт]

Как правильно работать с БД в C#?

К примеру, как осуществить одно подключение к БД, и потом из неё получать информацию? Как осуществлять запросы к таблицам? Как обрабатывать результаты запросов? Как выводить таблицы из БД в DataGridView ? И прочее.

В интернете много разной информации, но толком мне ничего не понятно. Объясните на пальцах, что и как делать.

Закрыт по причине того, что вопрос слишком общий участником PashaPash 8 окт ’16 в 9:27 .

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

Работа с базами данных в Windows Forms с использованием языка программирования C++

Как известно, начиная с версии 2008, работа с базами данных (БД) в Windows Forms средствами Microsoft Visual C++ (VC++) невозможна. Однако это не совсем так.

Начиная с версии 2008, стала недоступна работа с БД с помощью уже привычного графического интерфейса. То есть, для работы с ними нельзя создать и настроить, а, следовательно, и использовать, не визуальные элементы управления DataSet, BindingSource и TableAdapter. В то же время возможно работы с БД при помощи «обычных» классов ADO.NET полностью сохранилась.

Для реализации взаимодействия с БД служат «обычные» классы OleDbConnection, OleDbCommand и OleDbDataReader. Но, в виду того, что в Windows Forms используется управляемый код с привязкой C++/CLI, их использование имеет некоторые особенности.

Рассмотрим пример. Есть БД Microsoft Office Access, которая содержит список авторов книг в таблице Author.

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

Данные будем загружать в элемент управления DataGridView при нажатии на кнопку «Получить данные».

Создадим в обработчике события нажатия этой кнопки подключение к БД.

BestProg

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

В данной теме описывается детальный пошаговый процесс разработки программы, которая управляет локальной базой данных Microsoft SQL Server , размещенной в «*.mdf» -файле.

Программа реализована на языке программирования C# в системе визуальной разработки приложений Microsoft Visual Studio 2010 .

Пройдя все этапы выполнения курсовой работы Вы получите опыт разработки приложений, которые взаимодействуют с базами данных типа Microsoft SQL Server . По данному примеру можно научиться создавать собственные приложения, работающие с базами данных Microsoft SQL Server .

Содержание

  • Условие задачи
  • Выполнение
    • 1. Выбор модели базы данных
    • 2. Проектирование (подключение) базы данных «MyDataBase.mdf» . Создание нового проекта в Microsoft Visual Studio
      • 2.1. Подготовка папки для файлов проекта и базы данных
      • 2.2. Запуск Microsoft Visual Studio . Создание приложения по шаблону Windows Forms Application . Сохранение файлов проекта
      • 2.3. Создание новой или подключение ранее созданной базы данных «MyDataBase.mdf»
      • 2.4. Информация о базе данных «MyDataBase.mdf»
      • 2.5. Подключение строки соединения с базой данных Connection String
    • 3. Проектирование главной формы программы. Размещение элементов управления на форме
    • 4. Разработка второстепенных форм (диалоговых окон)
      • 4.1. Проектирование формы окна «Добавить источник…»
      • 4.2. Проектирование формы окна «Редактировать источник …»
      • 4.3. Проектирование формы окна «Добавить выбросы…»
      • 4.4. Проектирование формы окна подтверждения «Удалить источник»
      • 4.5. Проектирование формы окна подтверждения «Удалить выбросы»
      • 4.6. Проектирование формы окна «Редактировать выбросы»
      • 4.7. Проектирование формы «Минимальные выбросы»
      • 4.8. Проектирование формы «Максимальные выбросы»
      • 4.9. Проектирование формы «Средние выбросы»
    • 5. Написание программного кода
      • 5.1. Подключение пространства имен System.Data.SqlClient
      • 5.2. Разработка метода заполнения dataGridView1 из таблицы Source
      • 5.3. Разработка метода заполнения элемента управления dataGridView2 из таблицы Emission
      • 5.4. Модификация метода Form_Load() основной формы Form1
      • 5.5. Разработка метода MyExecuteNonQuery() изменения данных в таблицах
      • 5.6. Программирование события клика на кнопке button1 ( «Добавить источник…» )
      • 5.7. Программирование события клика на кнопке button3 ( «Редактировать источник…» )
      • 5.8. Настройка свойства DeleteRule в объекте FK_Emission_Source (связь между диаграммами) для корректного удаления источника
      • 5.9. Программирование события клика на кнопке button2 ( «Удалить источник» )
      • 5.10. Программирование события клика на кнопке button4 ( «Добавить выбросы…» )
      • 5.11. Программирование события клика на кнопке button6 ( «Редактировать выбросы…» )
      • 5.12. Программирование события клика на кнопке button5 ( «Удалить выбросы» )
      • 5.13. Программирование события клика на кнопке button7 ( «Минимальные выбросы» )
      • 5.14. Программирование события клика на кнопке button8 ( «Максимальные выбросы» )
      • 5.15. Программирование события клика на кнопке button9 ( «Средние выбросы» )
      • 5.16. Программирование события выбора строки в dataGridView1 (таблица Source)
      • 5.17. Программирование события изменения активной ячейки в dataGridView1 (таблица Source)
    • 6. Настройка команд меню menuStrip1
    • 7. Запуск программы на выполнение
  • Связанные темы

Условие задачи

Разработать программу, которая оперирует базой данных типа Microsoft SQL Server . База данных размещается в *.mdf -файле. Программу реализовать в системе визуальной разработки приложений Microsoft Visual Studio .

В работе нужно выполнить следующие задачи:

  • спроектировать и реализовать локальную базу данных типа Microsoft SQL Server , которая размещается в отдельном файле. Имя базы данных «MyDataBase.mdf» ;
  • создать в базе данных 2 таблицы с именами «Source» (Источник) и «Emission» (Выбросы). Каждая из таблиц должна иметь заданные поля, которые описываются ниже. Таблицы базы данных должны быть связаны между собою по некоторому полю;
  • разработать приложение, оперирующее базой данных MyDataBase.mdf . Приложение реализовать на языке C# по шаблону Windows Forms Application ;
  • в приложении реализовать основные команды управления записями (данными) в базе данных: добавление, редактирование, удаление, просмотр;
  • реализовать следующие вычисления: нахождение минимальных, максимальных, средних выбросов для любого источника.

База данных содержит 2 таблицы, имеющих следующую структуру.

Таблица Source (источник выбросов).

Таблица Emission (выбросы для заданного источника).

Таблицы связаны между собой по полю ID_Source.

Выполнение

1. Выбор модели базы данных

Для организации работы с данными при создании проектов (программ) система Microsoft Visual Studio предлагает различные виды источников данных. Например:

  • локальная база данных Microsoft SQL Server , которая размещается в отдельном «*.mdf» — файле. Пример работы с такой базой данных подробно описывается здесь ;
  • локальная база данных Microsoft SQL Server . В этом случае может быть установлен локальный сервер, например SQLEXPRESS . Пример работы с такой базой данных подробно описывается здесь;
  • локальная база данных Microsoft Access . В этом случае создается «*.mdb» файл базы данных;
  • база данных, созданная с использованием ODBC -драйвера;
  • Oracle база данных.

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

Для работы программы используем локальную базу данных, которая размещена в отдельном «*.mdb» — файле и предназначена для работы под управлением системы управления реляционными базами данных Microsoft SQL Server .

2. Проектирование (подключение) базы данных «MyDataBase.mdf» . Создание нового проекта в Microsoft Visual Studio
2.1. Подготовка папки для файлов проекта и базы данных

Подготовить папку для программы. В данном случае устанавливаем папку проекта и файлов базы данных:

2.2. Запуск Microsoft Visual Studio . Создание приложения по шаблону Windows Forms Application . Сохранение файлов проекта

Запустить систему визуальной разработки приложений Microsoft Visual Studio . Создать новый проект на языке C# по шаблону Windows Forms Application .

Новый проект создается командой

В нашем случае проект создается в папке

Более подробный пример создания нового проекта описывается в статье:


В окне New Project задаем следующие настройки:

  • имя проекта (поле Name) TermPaper;
  • папка (Location) «D:\Programs\C_SHARP\TermPaper1\» ;
  • имя решения ( Solution name ) TermPaper.

После создания нового проекта, главная форма программы имеет вид, как показано на рисунке 2.1.

Рис. 2.1. Главная форма программы

2.3. Создание новой или подключение ранее созданной базы данных «MyDataBase.mdf»

После создания папки для базы данных можно создавать новую базу данных или подключить уже существующую. Подробный пример создания/подключения базы данных, что размещается в отдельном «*.mdf» -файле, описывается в статьях:

Чтобы не тратить времени на создание новой базы данных, можно загрузить архив с готовой базой данных , которая была создана раньше.

База данных размещается в двух файлах:

  • файл «MyDataBase.mdf» ;
  • файл «MyDataBase.ldf» .

После распаковки архива копируем базу данных в папку с будущей программой:

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

  • в меню Tools выбрать команду «Connect to Database» ;
  • в утилите Server Explorer выбрать кнопку «Connect to Database» .

В результате откроется окно Add Connection , в котором нужно выбрать следующие настройки:

  • поле «Data Source» = «Microsoft SQL Server Database File» ;
  • поле «Database File name (new of existing)» = «D:\Programs\C_SHARP\TermPaper1\MyDataBase.mdf» . Здесь с помощью кнопки «Browse» выбирается путь к нашей базе данных MyDataBase.mdf ;
  • опция «Log on to the server» = «Use Windows Autentification» .

Подробный пример подключения готовой базы данных к проекту описывается в теме:

После подключения (или создания) базы данных в окне «Server Explorer» отобразится база данных «MyDataBase.mdf» (рисунок 2.2).

Рис. 2.2. База данных MyDataBase.mdf в окне «Server Explorer»

2.4. Информация о базе данных «MyDataBase.mdf»

База данных «MyDataBase.mdf» содержит:

  • таблицу Source (рис. 2.3);
  • таблицу Emission (рис. 2.4);
  • диаграмму Diagram1, содержащую информацию о связях между таблицами Source и Emission (рис. 2.5).

Рис. 2.3. Таблицы Source, Emission и диаграмма связей

Если раскрыть диаграмму связей, то отобразится связь между таблицами Source и Emission по полю ID_Source (рис. 2.5).

Чтобы отобразить диаграмму связей используется команда Design Database Diagram , из контекстного меню диаграммы (рис. 2.4). Также отображение диаграммы связей вызывается двойным кликом мышкой на Diagram1.

Рис. 2.4. Вызов команды отображения диаграммы связей между таблицами

Рис. 2.5. Диаграмма связей между таблицами

2.5. Подключение строки соединения с базой данных Connection String

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

Подробное описание подключения строки Connection String к программе описывается в теме:

Чтобы подключить строку соединения с базой данных, нужно выполнить следующую последовательность шагов:

  1. Перейти в утилиту Server Explorer (рис. 2.6).
  2. Выделить файл «MyDataBase.mdf» (рис. 2.6).
  3. В окне «Properties» выделить строку (свойство) «Connection String» (контекстное меню – команда «Выделить все» ) и скопировать его в буфер обмена Clipboard (контекстное меню – команда «Копировать» ) (рис. 2.6).
  4. Перейти в текстовую часть файла «Form1.cs»

Создать переменную в классе формы Form1 типа string.

Пусть название переменной ConnStr . Вставить строку «Connection String» в строке инициализации значения переменной ConnStr как показано ниже:

Рис. 2.6. Копирование строки ( ConnectionString ) соединения с базой данных в программу

На данный момент приблизительный вид файла «Form1.cs» следующий:

После этого можно проектировать интерфейс программы и программировать методы обработки базы данных.

3. Проектирование главной формы программы. Размещение элементов управления на форме

С помощью инструментов на панели ToolBox на главной форме программы необходимо разместить следующие элементы управления (рис. 3.1):

  • label1 типа Label. Содержит текст «Источник выбросов» ;
  • label2 типа Label. Содержит текст «Выбросы» ;
  • dataGridView1 типа DataGridView. Этот элемент управления отображает таблицу базы данных «Источник выбросов»;
  • dataGridView2 типа DataGridView – отображает таблицу базы данных «Выбросы»;
  • button1 – кнопка, которая содержит текст «Добавить источник…» (свойство Text );
  • button2 – кнопка, которая содержит текст «Удалить источник» (свойство Text);
  • button3 – кнопка, которая содержит текст «Редактировать источник…» ;
  • button4 – кнопка, которая содержит текст «Добавить выбросы…» ;
  • button5 – кнопка, которая содержит текст «Удалить выбросы…» ;
  • button6 – кнопка с текстом «Редактировать выбросы …» ;
  • button7 – кнопка с текстом «Минимальные выбросы» ;
  • button8 – кнопка с текстом «Максимальные выбросы» ;
  • button9 – кнопка с текстом «Средние выбросы» ;
  • элемент управления menuStrip1 типа MenuStrip.

Для элементов управления label1, label2, button1, button2, button3, button4, button5, button6, button7, button8, button9 настраивается свойство Text в соответствующее значение. Работа с этими элементами управления более подробно описывается в практическом примере:

В элементах управления dataGridView1, dataGridView2 настраивается свойство

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

Элемент управления menuStrip1 предназначен для создания меню в программе. В данной работе создаем меню, как показано на рисунке 3.2. Работа с элементом управления menuStrip1 подробно описывается в статье:

Также нужно настроить следующие свойства формы (элемент управление Form1 ):

  • свойство Text = «Программа мониторинга загрязнения окружающей среды» ;
  • свойство MaximizeBox = False.

Рис. 3.1. Главная форма программы после проектирования

Рис. 3.2. Главное меню программы. Подменю «Источник» , «Выбросы» , «Расчет»

4. Разработка второстепенных форм (диалоговых окон)
4.1. Проектирование формы окна «Добавить источник…»

Добавление в базу данных нового источника выбросов осуществляется после нажатия на кнопке «Добавить источник…» . Набор новой информации об источнике может осуществляться в отдельной форме.

Для создания новой формы нужно вызвать команду

В открывшемся окне нужно выбрать шаблон Windows Form .

Более подробный пример создания новой формы и вызова формы описывается в статье:

Используя средства панели инструментов Toolbox создаем новую форму, как показано на рисунке 4.1.

Форма носит имя Form2. Название файла формы «Form2.cs» .

Рис. 4.1. Форма добавления нового источника выбросов

В форме Form2 размещаются следующие элементы управления:

  • два элемента управления типа Label с именами label1, label2. Предназначены для вывода информационных сообщений;
  • два элемента управления типа Button с именами button1, button2;
  • два элемента управления типа TextBox с именами textBox1, textBox2.

Настраиваем следующие свойства:

  • в форме Form2 свойство Text = «Добавить источник» ;
  • в форме Form2 свойство StartPosition = CenterScreen. Это означает, что форма будет открываться по центру экрана;
  • в элементе управления label1 свойство Text = «Название источника» ;
  • в элементе управления label2 свойство Text = «Адрес» ;
  • в button1 свойство Text = «Добавить» ;
  • в button1 свойство DialogResult = «OK» . Это означает, что при нажатии на кнопке button1 форма будет закрываться с кодом возвращения OK;
  • в button2 свойство Text = «Отменить» ;
  • в button2 свойство DialogResult = «No» .
  • в элементе управления textBox1 свойство Modifiers = public. Это означает, что элемент имеет модификатор доступа public. После этого можно иметь доступ к textBox1 из других форм (модулей, файлов);
  • в элементе управления textBox2 свойство Modifiers = Public (видимый извне).
4.2. Проектирование формы окна «Редактировать источник …»

По образцу предшествующего пункта (п. 4.1) создается новая форма «Редактировать источник …» . Форма носит имя Form3. Файл формы носит имя «Form3.cs» .

После размещения и настройки элементов управления, вид окна формы будет таким как показано на рисунке 4.2.

Рис. 4.2. Форма «Редактировать источник»

На форме размещаются следующие элементы управления:

  • два элемента управления типа Label с именами label1, label2;
  • два элемента управления типа Button с именами button1, button2;
  • два элемента управления типа TextBox с именами textBox1, textBox2.

Настроить следующие свойства элементов управления:

  • в Form3 свойство Text = «Редактировать источник» ;
  • в Form3 свойство StartPosition = CenterScreen;
  • в элементе управления button1 свойство Text = «Изменить» ;
  • в button1 свойство DialogResult = OK;
  • в button2 свойство Text = «Отменить» ;
  • в button2 свойство DialogResult = No;
  • в label1 свойство Text = «Название источника» ;
  • в label2 свойство Text = «Адрес» ;
  • в textBox1 свойство Modifiers = public;
  • в textBox2 свойство Modifiers = public.
4.3. Проектирование формы окна «Добавить выбросы…»

По образцу предшествующих форм проектируется новая форма добавления строки выбросов (рис. 4.3). Эта форма должна быть активирована после нажатия на кнопке «Добавить выбросы…» . В программе имя формы Form4. Файл формы «Form4.cs» .

Рис. 4.3. Вид формы добавления нового выброса для заданного источника

На форме размещаются следующие элементы управления:

  • 4 элемента управления типа Label с именами label1, label2, label3, label4;
  • 3 элемента управления типа TextBox с именами textBox1, textBox2, textBox3;
  • 2 элемента управления типа Button с именами button1, button2.

Настроить следующие свойства формы и элементов управления:

  • в форме Form4 свойство Text = «Добавить выбросы» ;
  • в форме Form4 свойство StartPosition = CenterScreen;
  • в label1 свойство Text = «Количество выбросов» ;
  • в label2 свойство Text = «Комментарий» ;
  • в label3 свойство Text = «Дата» ;
  • в label4 свойство Text = «Источник» ;
  • в label4 свойство Modifiers = Public (видимый извне);
  • в button1 свойство Text = «Добавить» ;
  • в button2 свойство Text = «Отменить» ;
  • в button1 свойство DialogResult = OK;
  • в button2 свойство DialogResult = No;
  • в textBox1 свойство Modifiers = Public;
  • в textBox2 свойство Modifiers = Public;
  • в textBox3 свойство Modifiers = Public.
4.4. Проектирование формы окна подтверждения «Удалить источник»

После того, как пользователь вызовет команду «Удалить источник» , должно открыться окно подтверждения команды. Для этого создается новая форма с именем Form5. Файл формы носит имя «Form5.cs» . Вид формы Form5 изображен на рисунке 4.4.

Рис. 4.4. Форма подтверждения «Удалить источник»

На форме размещаются следующие элементы управления:

  • два элемента управления типа Label с именами label1, label2;
  • два элемента управления типа Button с именами button1, button2.

Настроить следующие свойства формы и элементов управления:

  • в форме Form5 свойство Text = «Удалить источник заражения» ;
  • в форме Form5 свойство StartPosition = CenterScreen;
  • в элементе управления label1 свойство Text = «Вы действительно хотите удалить источник:» ;
  • в элементе управления label2 свойство Modifiers = Public;
  • в button1 свойство Text = «Да» ;
  • в button1 свойство DialogResult = OK;
  • в button2 свойство Text = «Нет» ;
  • в button2 свойство DialogResult = No.
4.5. Проектирование формы окна подтверждения «Удалить выбросы»

По образцу п.4.4. разрабатывается форма удаления выбросов (рис. 4.5). Имя формы Form6.cs . Файл формы «Form6.cs» .

Рис. 4.5. Форма подтверждения «Удалить выбросы»

На форме размещаются следующие элементы управления:

  • два элемента управления типа Label с именами label1, label2;
  • два элемента управления типа Button с именами button1, button2.

Настроить следующие свойства формы и элементов управления:

  • в форме Form6 свойство Text = «Удалить выбросы» ;
  • в форме Form6 свойство StartPosition = CenterScreen;
  • в элементе управления label1 свойство Text = «Вы действительно желаете удалить строку с выбросами?» ;
  • в элементе управления label2 свойство Modifiers = Public;
  • в button1 свойство Text = «Да» ;
  • в button1 свойство DialogResult = OK;
  • в button2 свойство Text = «Нет» ;
  • в button2 свойство DialogResult = No.
4.6. Проектирование формы окна «Редактировать выбросы»

Форма редактирования строки выбросов имеет вид, как показано на рисунке 4.6. В программе форма носит имя Form7 и размещается в файле «Form7.cs» .

Рис. 4.6. Окно «Редактировать выбросы…»

На форме размещаются следующие элементы управления:

  • 4 элемента управления типа Label с именами label1, label2, label3, label4;
  • 3 элемента управления типа TextBox с именами textBox1, textBox2, textBox3;
  • 2 элемента управления типа Button с именами button1, button2.

Настроить следующие свойства формы и элементов управления:

  • в форме Form7 свойство Text = «Редактировать выбросы» ;
  • в форме Form7 свойство StartPosition = CenterScreen;
  • в label1 свойство Text = «Источник» ;
  • в label2 свойство Text = «Количество выбросов» ;
  • в label3 свойство Text = «Комментарий» ;
  • в label4 свойство Text = «Дата» ;
  • в label1 свойство Modifiers = Public (видимый извне);
  • в button1 свойство Text = «Изменить» ;
  • в button2 свойство Text = «Отменить» ;
  • в button1 свойство DialogResult = OK;
  • в button2 свойство DialogResult = No;
  • в textBox1 свойство Modifiers = Public;
  • в textBox2 свойство Modifiers = Public;
  • в textBox3 свойство Modifiers = Public.
4.7. Проектирование формы «Минимальные выбросы»

В соответствии с условием задачи, в программе проводится расчет минимальных выбросов для любого источника. Результат отображается в отдельном окне «Минимальные выбросы» . Для отображения результата к проекту добавляется соответствующая форма с именем Form8, которая изображена на рисунке 4.7. Файл формы «Form8.cs» .

Рис. 4.7. Окно формы «Минимальные выбросы»

На форме размещаются следующие элементы управления:

  • элемент управления типа Label с именем label1;
  • элемент управления типа DataGridView с именем dataGridView1;
  • элемент управления типа Button с именем button1.

Настраиваются следующие свойства формы и элементов управления:

  • в форме Form8 свойство Text = «Минимальные выбросы»
  • в форме Form8 свойство StartPosition = CenterScreen;
  • в элементе управления label1 свойство Text = «Минимальные выбросы» ;
  • в button1 свойство Text = «OK» ;
  • в button1 свойство DialogResult = OK;
  • в dataGridView1 свойство Modifiers = Public.
4.8. Проектирование формы «Максимальные выбросы»

Форма «Максимальные выбросы» предназначена для отображения максимальных выбросов для любого источника (рис. 4.8). В программе данная форма носит имя Form9. Файл формы носит имя «Form9.cs» .

Рис. 4.8. Окно формы «Максимальные выбросы»

На форме размещаются следующие элементы управления:

  • элемент управления типа Label с именем label1;
  • элемент управления типа DataGridView с именем dataGridView1;
  • элемент управления типа Button с именем button1.

Настраиваются следующие свойства формы и элементов управления:

  • в форме Form9 свойство Text = «Максимальные выбросы»
  • в форме Form9 свойство StartPosition = CenterScreen;
  • в элементе управления label1 свойство Text = «Максимальные выбросы» ;
  • в button1 свойство Text = «OK» ;
  • в button1 свойство DialogResult = OK;
  • в dataGridView1 свойство Modifiers = Public.
4.9. Проектирование формы «Средние выбросы»

Форма «Средние выбросы» предназначена для отображения средних выбросов для любого источника (рис. 4.9). Рассчитывается среднее арифметическое значение. В программе данная форма называется Form10. Файл формы «Form10.cs» .


Рис. 4.9. Окно формы «Средние выбросы»

На форме размещаются следующие элементы управления:

  • элемент управления типа Label с именем label1;
  • элемент управления типа DataGridView с именем dataGridView1;
  • элемент управления типа Button с именем button1.

Настраиваются следующие свойства формы и элементов управления:

  • в форме Form10 свойство Text = «Средние выбросы»
  • в форме Form10 свойство StartPosition = CenterScreen;
  • в элементе управления label1 свойство Text = «Средние выбросы» ;
  • в button1 свойство Text = «OK» ;
  • в button1 свойство DialogResult = OK;
  • в dataGridView1 свойство Modifiers = Public.
5. Написание программного кода
5.1. Подключение пространства имен System.Data.SqlClient

Чтобы на программном уровне работать с «*.mdf» -файлами базы данных Microsoft SQL Server , в верхней части файла «Form1.cs» нужно подключить пространство имен System.Data.SqlClient

На данный момент текст модуля основной формы Form1.cs имеет приблизительно такой вид:

5.2. Разработка метода заполнения dataGridView1 из таблицы Source

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

Метод FillSource() , читающий данные из таблицы Source имеет вид

Этот метод нужно добавить в текст класса формы Form1 после метода Form1_Load() .

Объясним некоторые фрагменты кода метода FillSource() .

Обращение к базе данных осуществляется с помощью метода FillSource() . Переменная SqlText содержит строку на языке SQL чтения данных из таблицы Source

В методе объявляется экземпляр класса SqlDataAdapter с именем da. Класс SqlDataAdapter представляет набор команд над данными и соединением с базой данных, которые используются для заполнения объекта класса System.Data.DataSet и обновления базы данных SQL Server .

Экземпляр класса DataSet называется ds . Класс DataSet реализует кэш данных в памяти.

В программном коде используется метод Fill() класса SqlDataAdapter. Этот метод добавляет или обновляет строки в System.Data.DataSet в соответствии с именами в источнике данных. Метод Fill() получает два параметра типа System.Data.DataSet и System.Data.DataTable . Первый параметр необходим, чтобы заполнить записи таблицы или схему. Второй параметр содержит название таблицы.

5.3. Разработка метода заполнения элемента управления dataGridView2 из таблицы Emission

Для отображения данных таблицы Emission в dataGridView2 разработаем метод по образцу предшествующего пункта (п. 5.2). Метод имеет название FillEmission()

В этом методе в переменной SqlText программно формируется следующий запрос на языке SQL :

где ID_Source – уникальное значение счетчика в таблицах Emission и Source.

Чтобы получить значение ID_Source, сначала вычисляется индекс строки в таблице Source

потом вычисляется значение ID_Source, которое по порядку идет в позиции 0 таблицы Source:

Следующие шаги выполняются по образцу п. 5.2. Только данные выводятся в элементе управления dataGridView2.

5.4. Модификация метода Form_Load() основной формы Form1

В классе основной формы Form1 есть метод Form_Load(), который вызывается сразу после запуска программы на выполнение. Поэтому, сюда нужно вписать вызов методов FillSource() и FillEmission().

Общий вид метода Form_Load():

5.5. Разработка метода MyExecuteNonQuery() изменения данных в таблицах

В программе предполагается редактирование (изменение) данных в таблицах с помощью SQL -команд INSERT, UPDATE , DELETE . Поэтому, нужно реализовать общий метод, который будет вызваться для любой из данных команд. Метод называется MyExecuteNonQuery() . Листинг метода следующий:

Объясним работу метода. Метод получает текст SQL -команды в переменной SqlText. Это может быть одна из команд INSERT , UPDATE , DELETE .

После этого создается экземпляр класса SqlConnection , что символизирует соединение с базой данных. Объект класса имеет название cn .

Другой класс SqlCommand предназначен для корректного сохранения SQL -команды в переменной CommandText . Соответственно создается объект этого класса с именем cmd . В классе SqlCommand есть метод ExecuteNonQuery() , который выполняет SQL -команду.

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

Метод MyExecuteNonQuery() может быть вызван из других методов с помощью строки:

где SqlText – текст соответствующей SQL -команды ( INSERT , UPDATE , DELETE ).

5.6. Программирование события клика на кнопке button1 ( «Добавить источник…» )

Чтобы вызвать окно добавления нового источника нужно сделать клик на кнопке button1 ( «Добавить источник…» ). В результате откроется окно добавления нового источника (см. п. 4.1).

Листинг обработчика события клика на кнопке button1 имеет вид:

Объясним некоторые фрагменты кода.

Добавление источника осуществляется на основе SQL -команды:

где name , address – значение полей textBox1, textBox2 формы Form2. В эти поля пользователь вводит название и адрес нового источника.

SQL -команда программно формируется в переменной SqlText . Выполнение команды осуществляется в методе MyExecuteNonQuery() , получающем параметром значения переменной SqlText (см. п. 5.5).

Создание новой формы осуществляется стандартным для C# .NET путем:

Вызов окна формы осуществляется методом ShowDialog() формы Form2 :

После добавления источника в базу данных выполняется перерисовывание элемента управление dataGridView1 главной формы программы Form1 с помощью метода FillSource() .

5.7. Программирование события клика на кнопке button3 ( «Редактировать источник…» )

По образцу предшествующего пункта, программируется событие клика на кнопке button3. Обработчик события имеет вид:

В обработчике события открывается форма Form3 ( «Редактировать источник» ), которая была спроектировано в п. 4.2.

Перед открытием формы заполняются переменные index , ID_Source, name, address. Потом значение переменных записывается в textBox1, textBox2 формы Form3. Все другие команды выполняются по образцу предшествующего пункта (п. 5.6).

Текст SQL-команды имеет вид:

где name, address – измененное название и адрес источника.

5.8. Настройка свойства DeleteRule в объекте FK_Emission_Source (связь между диаграммами) для корректного удаления источника

Для того, чтобы удалить источник из таблицы [Source] , нужно выполнить следующий SQL -запрос:

где ID_Source – уникальный идентификатор источника, который вычисляется программно.

При удалении источника из таблицы Source может возникнуть проблема. Эта проблема состоит в том, что при удалении источника из таблицы Source должны быть удалены все записи из таблицы Emission. Поэтому, вышеприведенный SQL -запрос пока что работать не будет: база данных будет выдавать ошибку, что с таблицей Source связаны данные в таблице Emission .

Чтобы избежать эту проблему, нужно правильно настроить связь между диаграммами. В программе, объект, который отвечает за связь между диаграммами имеет название FK_Emission_Source . Для правильной настройки связи нужно выполнить следующие действия:

  1. Перейти в утилиту Server Explorer . Для базы данных «MyDataBase.mdf» раскрыть вкладку «Database Diagrams” (рис. 5.1).
  2. Вызвать контекстное меню, с помощью клика правой кнопкой мышки на элементе Diagram1 . В контекстном меню выбрать команду «Design Database Diagram» (рис. 5.1). В результате откроется окно с диаграммой dbo.Diagram1 , которое связывает таблицы Source и Emission .

Рис. 5.1. Вызов диаграммы связи между таблицами

  1. В окне dbo.Diagram1 выделить связь между диаграммами FK_Emission_Source (рис. 5.2)
  2. В окне свойств во вкладке «INSERT AND UPDATE» установить значение свойства Delete Rule = Cascade (каскадное удаление полей).

После этого можно программировать событие клика на кнопке button2 — «Удалить источник» (см. п. 5.9).

Рис. 5.2. Настройка свойства DeleteRule в значение Cascade

5.9. Программирование события клика на кнопке button2 ( «Удалить источник» )

Теперь все подготовительные операции для реализации команды удаления источника из таблицы [Source] выполнены (см. п. 5.8).

Команда удаления источника базируется на SQL-запросе:

где ID_Source – уникальный идентификатор источника, который программно вычисляется в следующих строках:

Листинг обработчика события клика на кнопке «Удалить источник» имеет вид:

Перед удалением источника вызывается окно подтверждения команды (форма Form5). Форма Form5 подтверждения команды удаления источника была спроектирована в п. 4.4. Предварительно формируется информационная справка об источнике, который удаляется.

5.10. Программирование события клика на кнопке button4 ( «Добавить выбросы…» )

После нажатия на кнопке «Добавить выбросы…» вызывается форма Form4 добавления выбросов (см. п. 4.3).

Листинг обработчика события добавления выбросов (кнопка button4) имеет вид:

Добавление строки выбросов в таблицу Emission выполняется с помощью SQL -команды:

  • ID_Source – уникальный идентификатор источника выбросов (вычисляется программно);
  • f.textBox1.Text – значение, введенное пользователем в поле textBox1 формы Form4. Это значение отвечает полю count таблицы Emission;
  • f.textBox2.Text – значение, введенное пользователем в поле textBox2 формы Form4. Это значение отвечает полю Text таблицы Emission;
  • f.textBox3.Text – значение, введенное пользователем в поле textBox3 формы Form4. Это значение отвечает полю date таблицы Emission.
5.11. Программирование события клика на кнопке button6 ( «Редактировать выбросы…» )

После выбора команды «Редактировать выбросы…» открывается соответствующее окно (форма Form7), которое было спроектировано в п. 4.6.

Листинг обработчика события клика на кнопке button6 имеет вид:

Команда «Редактировать выбросы…» основывается на SQL -команде:

  • count1 – значение, введенное пользователем в поле textBox1 формы Form7. Это значение отвечает полю [Emission].[count] ;
  • Text1 – значение, введенное пользователем в поле textBox2 формы Form7. Это значение отвечает полю [Emission].[Text] ;
  • date1 – значение, введенное пользователем в поле textBox3 формы Form7. Это значение отвечает полю [Emission].[date] ;
  • ID_Source – уникальный идентификатор источника из таблицы Source. Это значение отвечает полю [Emission].ID_Source .
5.12. Программирование события клика на кнопке button5 ( «Удалить выбросы» )

Листинг обработчика события удаления строки выбросов из таблицы Emission:

Команда «Удалить выбросы» основывается на SQL -команде:

где ID_Emission – уникальный идентификатор строки выбросов в таблице Emission. ID_Emission формируется программно на основе активной строки элемента управления dataGridView2:

5.13. Программирование события клика на кнопке button7 ( «Минимальные выбросы» )

Чтобы вычислить минимальные выбросы для любого источника, используется SQL-запрос:

Для поиска минимума, в данном запросе используется функция агрегирования MIN из библиотеки языка SQL.

Листинг обработчика события клика на кнопке button7 следующий:

Результат выводится в форме Form8, которая была спроектирована в п. 4.7.

5.14. Программирование события клика на кнопке button8 ( «Максимальные выбросы» )

По образцу предшествующего пункта (п. 5.13) реализован обработчик события клика на кнопке button8 .

Максимальные выбросы вычисляются на основе SQL -запроса:

Для поиска максимума, в SQL -запросе используется функция агрегирования MAX .

Листинг обработчика события следующий:

5.15. Программирование события клика на кнопке button9 «Средние выбросы»

Средние выбросы вычисляются на основе SQL -запроса:

Для поиска среднего арифметического значения, в SQL -запросе используется функция агрегирования AVG .

Листинг обработчика события следующий:

5.16. Программирование события выбора строки в dataGridView1 (таблица Source )

Если пользователь выбирает строку в таблице Source (элемент управления dataGridView1), должны выводиться связанные строки таблицы Emission, которые имеют такое самое значение ID_Source. Данные таблицы Emission выводятся в элементе управления dataGridView2.

Поэтому, целесообразно запрограммировать событие Click элемента управления dataGridView1 (рис. 5.3). Обработчик этого события имеет название dataGridView1_Click().

Рис. 5.3. Событие Click элемента управления dataGridView1

Листинг обработчика события клика мышкой на dataGridView1 следующий:

5.17. Программирование события изменения активной ячейки в dataGridView1 (таблица Source)

Если изменить значение ячейки в таблице Source (элемент управления dataGridView1) с помощью мышки или клавиатуры, то должны выводиться соответствующие данные таблицы Emission (элемент управления dataGridView2).

В этом случае, эффективным есть программирование события CellEnter элемента управления dataGridView1. Это событие генерируется, если любая ячейка таблицы dataGridView1 получает фокус ввода. Такая ситуация возможная в случае, когда пользователь с помощью мышки или клавиатуры изменяет активные ячейки (строки).

Рис. 5.4. Событие CellEnter элемента управления dataGridView1

Обработчик события CellEnter имеет название dataGridView1_CellEnter(). Листинг обработчика события имеет вид:

6. Настройка команд меню menuStrip1

На этом шаге настраивается выполнение команд из меню menuStrip1 главной формы Form1 программы. Команды меню menuStrip1 копируют выполнение команд обработчиков событий кнопок button1, button2, …, button9. Поскольку, уже запрограммированы команды клика на кнопках главной формы, то достаточно перенаправить на них соответствующие команды меню.

Осуществим перенаправление команды меню «Источник» -> «Добавить …» на обработчик события button1_Click(). Для этого нужно выполнить следующие действия.

  1. Активировать команду «Источник»->»Добавить …» из меню menuStrip1 (рис. 6.1 — 1).
  2. Активировать вкладку Events в окне Properties (рис. 6.1 — 2).
  3. Выбрать событие Click (рис. 6.1 — 3).
  4. Из нисходящего списка выбрать название обработчика события button1_Click().

Рис. 6.1. Перенаправление команды «Источник»->»Добавить …» на обработчик события button1_Click()

По образцу настраиваются все другие команды меню:

  • команда «Источник» -> «Удалить» соответствует обработчику события button2_Click();
  • команда «Источник» -> «Редактировать …» соответствует обработчику события button3_Click() ;
  • команда «Выбросы» -> «Добавить …» соответствует обработчику события button4_Click() ;
  • команда «Выбросы» -> «Удалить» соответствует обработчику события button5_Click() ;
  • команда «Выбросы» -> «Редактировать…» соответствует обработчику события button6_Click() ;
  • команда «Расчет» -> «Минимальные выбросы…» соответствует обработчику события button7_Click() ;
  • команда «Расчет» -> «Максимальные выбросы…» соответствует обработчику события button8_Click() ;
  • команда «Расчет» -> «Средние выбросы…» соответствует обработчику события button9_Click() .
7. Запуск программы на выполнение

После выполненных действий можно запускать программу на выполнение (рис. 7).

Как собрать программу на C# с БД?

вообще то есть понятие connection string — строка подключения, она либо в каких то конфигах программы, либо в тексте программы. это зависит от использованного драйвера (ADO, DAO, ODBC. может даже Entity Framework или Linq to SQL)

так вот данная строка, гарантировано содержит абсолютный, или относительный (к примеру относительно профиля пользователя) путь к файлу БД

если у вас есть исходники проекта (и даже если нет) — от папки программы/проекта, выполните поиск фалов по маске *.* содержащего подстроку с именем БД, в проводнике, фаре, тотал командере. все равно.. в любом файловом инструменте, которым умеете пользоваться. такой файл обязательно найдется, дальше будет на много проще понять, как управлять ситуацией

Работа с базами данных в .NET Framework

C# и .NET — Работа с базами данных в .NET Framework

Работа с базами данных повсеместно встречается в современных приложениях, будь то настольное приложение, веб-сайт или веб-служба. Естественно платформа .NET Framework предлагает множество способов взаимодействия с базами данных из управляемого кода, которые и описываются в данном разделе нашего сайта. Основной системой управления базами данных для Windows являтся SQL Server, администрирование которой мы также опишем.

Платформа .NET Framework включает собственную технологию доступа к данным — ADO.NET. Эта технология состоит из управляемых классов, позволяющих приложениям .NET подключаться к источникам данных (обычно реляционным базам данных), выполнять команды и управлять автономными данными. Маленькое чудо ADO.NET заключается в том, что эта технология позволяет писать более-менее одинаковый код для доступа к данным — как в веб-приложениях, так и в клиент-серверных настольных приложениях, и даже в однопользовательских приложениях, подключаемых к локальной базе данных.

API-интерфейс Entity Framework спроектирован для работы с любыми базами данных, поддерживающими ADO (а не только с SQL Server), и даже включает собственный диалект независимого от поставщика языка SQL, который можно применять в качестве альтернативы LINQ.

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

Одним из самых фундаментальных расширений языка SQL в Microsoft SQL Server 2005 стало добавление оконных функций с такими синтаксическими конструкциями, как предложение OVER и набор новых функций, известных как функции ранжирования (ROW_NUMBER, RANK, и других). Это добавление позволило решать стандартные проблемы более простым, интуитивно понятным и отличающимся более высокой производительностью способом, чем раньше.

Работа с базами данных на языке C#. Технология АDO .NET: Справочник по C#

Название: Работа с базами данных на языке C#. Технология АDO .NET
Авторы: Евсеева О.Н., Шамшев А.Б.
Издательство: УлГТУ
Год: 2009
Формат: Pdf
ISBN: 978-5-91180-174-8
Язык: Русский
Размер: 2.2 МБ

ПРЕДИСЛОВИЕ
1. Проектирование баз данных
1.1. Реляционная база данных и ее структура
1.2. Этапы проектирования реляционной базы данных
1.2.1. Определение требований
1.2.2. Логическая модель
1.2.3. Физическая модель
1.3. Создание БД в СУБД Microsoft Access
1.3.1. Таблицы
1.3.2. Ключи
1.3.3. Связи
1.4. Создание базы данных в среде Microsoft SQL Server
1.4.1. Определение структуры базы данных
1.4.2. Перенос файла БД Microsoft SQL на другой компьютер
1.5. Контрольные вопросы и задания к разделу 1
2. ОСНОВЫ ЯЗЫКА SQL
2.1. Базовая конструкция SQL-запроса
2.2. Агрегирующие функции языка SQL
2.3. Оператор сравнения записей like
2.4. Команды определения данных языка SQL
2.5. Команды изменения данных языка DML
2.6. Контрольные вопросы и задания к разделу 2

3. СОЗДАНИЕ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ
3.1. Пример простейшего приложения баз данных
3.2. Обзор объектов ADO.NET
3.3. Server Explorer
3.4. Пример создания приложения БД (вручную)
3.5. Контрольные вопросы и задания к разделу 3

4. Объекты ADO.NET
4.1. Соединение с базой данных
4.1.1. Командная строка соединения ConnectionString
4.1.2. Управление соединением. Объект Connection
4.1.3. События объекта Connection
4.1.4. Обработка исключений
4.1.5. Работа с пулом соединений
4.2. Хранимые процедуры
4.2.1. Стандартные запросы к БД
4.2.2. Простые запросы к БД
4.2.3. Параметризованные запросы к БД
4.2.4. Создание хранимых процедур в Management Studio
4.2.5. Создание хранимых процедур в Visual Studio 2008
4.3. Запросы к базе данных
4.3.1. Командная строка SQL-запроса CommandText
4.3.2. Объект Command
4.3.3. Параметризированные запросы
4.3.4. Вызов хранимых процедур
4.3.5. Транзакции
4.4. Работа с таблицами данных
4.4.1. Объекты DataSet, DataTable и DataColumn
4.4.2. Объект DataRow
4.4.3. Объект DataGridView
4.4.4. Объект DataView
4.4.5. Вспомогательные классы
4.5. Контрольные вопросы и задания к разделу 4
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Ссылка для скачивания книги: «Удалено по просьбе правообладателя»

Цукерберг рекомендует:  Построение интерфейса с AutoLayout
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих