Статьи

C #. Практика. Вывод таблицы MS Access в DataGridView

  1. Условие задачи Пусть имеем базу данных, созданную в программе Microsoft Access. Имя файла базы...

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

Пусть имеем базу данных, созданную в программе Microsoft Access.

Имя файла базы данных " mydb.mdb ". Файл размещается на диске с таким путем:

C: \ Programs \ C_Sharp \ Train_01 \ WindowsFormsApplication1 \ mydb.mdb

База данных имеет несколько таблиц, одна из которых называется "Order".
Задача состоит в том, чтобы с помощью средств языка C # подключиться к базе данных и вывести таблицу с именем "Order" на форму.

Приложение реализовать как Windows Forms Application.

Общий вид таблиц базы данных и связей между ними представлен на рис. 1.

Рис. 1. Связи между таблицами базы данных

решение

1. Создание приложения по шаблону Windows Forms Application.

Скачать Microsoft Visual Studio. Создать приложение типа Windows Forms Application. Пример создания нового приложения подробно описан здесь.
Исходный код формы приложения имеет вид:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 {public partial class Form1: Form {public Form1 () {InitializeComponent (); }}}

Как видим, в пространстве имен WindowsFormsApplication1 есть только конструктор формы, в котором вызывается метод InitializeComponent ().

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

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

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

Чтобы получить корректный текст строки подключения к базе данных нужно выделить название базы данных в панели Server Explorer (mydb.mdb) и в окне "Properties" прочитать (скопировать) значение свойства "Connection String" (рис. 2, красное обводки).

Рис. 2. Чтение свойства Connection String

3. Размещение компонента типа dataGridView.

Выводим на форму компонент dataGridView, представляющий собой компонент-таблицу, в которой будет выводиться наша таблица "Order" из базы данных. Получаем переменную под названием dataGridView1.

Рис. 3. Компонент "DataGridView" на панели Toolbox

Рис. 4. Компонент dataGridView на основной форме

4. Редактирование кода.

4.1. Добавление переменных SQL-запрос и строки подключения к БД.

Активируем текст модуля Form1.cs (основная форма). В программный код формы вводим дополнительные переменные CmdText и ConnString.

Переменная CmdText содержит текст SQL-запрос для вывода всех записей таблицы "Order". Переменная ConnString представляет собой строку подключения к базе данных (см. П.2). Общий вид кода класса формы следующий:

public partial class Form1: Form {public string CmdText = "SELECT * FROM [Order]"; public string ConnString = "Provider = Microsoft.Jet.OLEDB.4.0; DataSource = C: \\ Programs \\ C_Sharp \\ WindowsFormsApplication1 \\ mydb.mdb"; public Form1 () {InitializeComponent (); }}

4.2. Создание объекта типа OleDbDataAdapter.

В конструктор формы после вызова InitializeComponent (); добавляем строку создания объекта типа OleDbDataAdapter:

OleDbDataAdapter dA = new OleDbDataAdapter (CmdText, ConnString)

Объект типа OleDbDataAdapter пересылает наборы данных с вызывающего процесса и обратно. Адаптеры данных содержат набор из четырех внутренних объектов команд. Это команды чтения, вставки, изменения и удаления информации. Как видно из кода, конструктор объекта получает входными параметрами строку запроса на языке SQL и строку подключения к базе данных. Итак, объект адаптера данных уже связан с нашей базой данных.

4.3. Создание объекта набора данных DataSet.

После создания адаптера данных (OleDbDataAdapter) вызываем создаем объект типа DataSet (набор данных):

DataSet ds = new DataSet ();

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

4.4. Заполнение таблицы "Order" на основе SQL-запрос.

Следующая команда - это заполнение набора данных (переменная ds) значениями записей из базы данных на основе SQL-запрос, содержащийся в адаптере данных dA с помощью метода Fill ():

dA.Fill (ds, "[Order]");

4.5. Визуализация данных в dataGridView1.

На данный момент данные из таблицы "Order" считаны в объекте ds (типа DataSet), представляющий собой набор данных.

Для их отображения необходимо чтобы свойство DataSource компонента dataGridView1 ссылалась на первую таблицу (у нас одна таблица) набора данных ds. Программный код имеет следующий вид:

dataGridView1.DataSource = ds.Tables [0] .DefaultView;

После этого данные из таблицы "Order" отобразятся на форме (рис. 5).

5. Весь программный код.

Общий листинг класса основной формы иметь следующий вид:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsFormsApplication1 {public partial class Form1: Form {public string CmdText = "SELECT * FROM [Order]"; public string ConnString = "Provider = Microsoft.Jet.OLEDB.4.0; DataSource = C: \\ Programs \\ C_Sharp \\ Train_12 \\ WindowsFormsApplication1 \\ mydb.mdb"; public Form1 () {InitializeComponent (); OleDbDataAdapter dataAdapter = new OleDbDataAdapter (CmdText, ConnString) // создание объекта типа DataSet DataSet ds = new DataSet (); // заполнения таблицы "Order" dataAdapter.Fill (ds, "[Order]"); dataGridView1.DataSource = ds.Tables [0] .DefaultView; }}}

DefaultView;  }}}

Рис. 5. Результат выполнения программы

6. Схема взаимодействия.

Схема взаимодействия между объектами представлена ​​на рис. 6.

Рис. 6. Схема взаимодействия между объектами для доступа к базе данных

Таким образом можно выводить на форму любую таблицу базы данных. Условия вывода данных из базы данных задаются в строке SQL-запрос в переменной CmdText.
Например, если в CmdText задать такую ​​строку:

CmdText = "SELECT * FROM [Order] WHERE [NameOfSender] LIKE 'И%" ";

то в результате из базы данных будут выведены те записи, которые начинаются на букву "И" (Иванов, Иващенко и т.д.).

связанные темы

Похожие

Microsoft предлагает 200 ГБ для OneDrive бесплатно
... в облаке стали настолько популярными, что многие пользователи не могут представить себе жизнь без них"> Диски в облаке стали настолько популярными, что многие пользователи не могут представить себе жизнь без них. Несмотря на множество сложностей с точки зрения конфиденциальности и безопасности хранящихся там данных, многие новые пользователи решают разместить там свои файлы. Диск в облаке дает прежде всего определенную свободу в обмене файлами, поскольку, имея только доступ к сети, мы можем
4 способа восстановить или удалить Microsoft .NET Framework
Хотя Microsoft .NET Framework это то, что не нравится многим людям, оно стало чем-то вроде неизбежного зла, потому что многие разработчики используют его функции, чтобы облегчить программирование программного обеспечения. Основная проблема .NET - это огромные размеры с точки зрения дискового пространства и, по-видимому, с каждым выпуском. Другая проблема заключается
Lumia 950 бесплатно от Microsoft, как вестник конца карьеры Windows Mobile?
... данных устройств. К этому добавляется еще одна важная особенность - нет приложения. Нет Instagrama, Youtube, Snapchat, Dokumentów или Google Maps ... Это совсем не так, и другие популярные приложения, такие как Facebook, работают в веб-версии. Хотя Lumies достаточно хорошо подходят для работы, они никогда не будут рассматриваться как телефонный звонок для обычного пользователя, который ежедневно просматривает массу информации, играет или просматривает сайты социальных сетей.
Торговля криптовалютами - лучшие платформы 2019 года в 3 этапа
Если вы хотите торговать криптом в валютах, вам нужен только правильный брокер для торговли. Криптовалюта - это цифровой способ оплаты всех видов онлайн-продуктов и услуг. Их основой является сложная система, основанная на разных серверах и техническом шифровании. Пока есть только
Данные - Обследования земель в Канаде
На этой странице вы найдете информацию о том, как получить доступ к опросной информации и данным о землях Канады. Обзор данных Официальные планы обследований, информация о проводимых обследованиях и геопространственные представления участков земель Канады доступны в Интернете. Доступны четыре метода для доступа к документам и информации об опросах, а различные наборы данных, используемые в географических информационных системах (ГИС), доступны для загрузки. Используя
Инструкции по настройке управления компьютером в Windows 8 на компьютере Dell
... вление компьютером» и о том, как вы будете делать это на своем компьютере Dell с Windows 8. Содержание: Что такое утилита управления компьютером Windows 8? Чтобы открыть и использовать программу управления компьютером Использование оснастки Использование инструментов Работа с хранилищем

Комментарии

Может быть, Microsoft медленно хочет отказаться от дальнейшего производства смартфонов, продавая оборудование, хранящееся на складах?
Может быть, Microsoft медленно хочет отказаться от дальнейшего производства смартфонов, продавая оборудование, хранящееся на складах? Слишком поздно решение может оказаться бездонным финансовым ресурсом, и, вероятно, лучше выйти из ситуации, в которой он оказался, чем создавать плохую атмосферу вокруг компании, отвергая клиентов от других продуктов, как это делает сегодня BlackBerry. В любом случае, такое решение проблемы наиболее вероятно. Гигант Маунтин-Вью зарабатывает большую
Человек использовал свое настоящее имя или псевдоним?
Человек использовал свое настоящее имя или псевдоним? Помните, что на сайтах проверки, как правило, нет процесса аутентификации людей, которые подписываются на них, и проверка, которая, как утверждают, поступила от вашего клиента, может фактически быть написана кем-то другим без ведома клиента. Проконсультируйтесь с экспертом: я преподаю и консультируюсь со многими врачами по этим вопросам в течение многих лет
Знаете ли вы, что вы можете легко изменить текстовую ссылку или сноску, не изменяя ссылки в вашей базе данных RefWorks?
Знаете ли вы, что вы можете легко изменить текстовую ссылку или сноску, не изменяя ссылки в вашей базе данных RefWorks? Ну, вы можете - используя то, что называется переключателем . Переключатели - это коды, используемые RefWorks для внесения конкретных изменений в текстовую цитату или сноску. Переключатели добавляются во временный заполнитель ссылок, который RefWorks использует для чтения и форматирования ваших текстовых ссылок или сносок. Пользователи

8. Содержание: Что такое утилита управления компьютером Windows 8?
Может быть, Microsoft медленно хочет отказаться от дальнейшего производства смартфонов, продавая оборудование, хранящееся на складах?
Человек использовал свое настоящее имя или псевдоним?
Знаете ли вы, что вы можете легко изменить текстовую ссылку или сноску, не изменяя ссылки в вашей базе данных RefWorks?

Новости

Карта