Datagrid как подключить бд

от admin

Create connection

To issue a query to a database, you must create a data source connection. Data source is the location of your data and can be a server or a DDL file. The data source includes a name and connection settings that are dependent on the data source type. In DataGrip, you can manage these connections in the Data Sources and Drivers dialog ( File | Data Sources ).

The following video is a general instruction on adding a data source. For illustrative purposes, the video shows how to add a PostgreSQL data source.

Datagrid как подключить бд

В прошлой теме была создана база данных, теперь подключимся к ней из приложения. В любом проекте WPF, как и в ряде других типов проектов для .NET, по умолчанию есть файл конфигурации, который называется app.config и который имеет следующее содержимое:

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

Для определения всех подключений в программе в пределах узла <configuration> добавляется новый узел <connectionStrings> . В этом узле определяются строки подключения с помощью элемента <add> . Каждая строка подключения имеет название, определяемое с помощью атрибута name . В данном случае строка подключения называется «DefaultConnection». Название может быть произвольное.

Атрибут connectionString собственно хранит строку подключения. Он состоит из трех частей:

Data Source=.\SQLEXPRESS : указывает на название сервера. По умолчанию для MS SQL Server Express используется «.\SQLEXPRESS»

Initial Catalog=mobiledb : название базы данных. Так как база данных называется mobiledb, то соответственно здесь данное название и указываем

Integrated Security=True : задает режим аутентификации

Так как мы будем подключаться к базе данных MS SQL Server, то соответственно мы будем использовать провайдер для SQL Server, функциональность которого заключена в пространстве имен System.Data.SqlClient.

Далее определим код графического интерфейса в xaml:

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

Теперь определим код подключения и все обработчики кнопок в файле кода c#:

Вся работа с бд производится стандартными средствами ADO.NET и прежде всего классом SqlDataAdapter. Вначале мы получаем в конструкторе строку подключения, которая определена выше в файле app.config:

Чтобы задействовать эту функциональность, нам надо добавить в проект библиотеку System.Configuration.dll .

Далее в обработчике загрузки окна Window_Loaded создаем объект SqlDataAdapter:

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

Получаем данные из БД и осуществляем привязку:

За обновление отвечает метод UpdateDB() :

Чтобы обновить данные через SqlDataAdapter, нам нужна команда обновления, которую можно получить с помощью объекта SqlCommandBuilder. Для самого обновления вызывается метод adapter.Update() .

Причем не важно, что мы делаем в программе — добавляем, редактируем или удаляем строки. Метод adapter.Update сделает все необходимые действия. Дело в том, что при загрузке данных в объект DataTable система отслеживает состояние загруженных строк. В методе adapter.Update() состояние строк используется для генерации нужных выражений языка SQL, чтобы выполнить обновление базы данных. Более подробно про обновление с помощью адаптеров данных можно почитать здесь: Обновление БД из DataSet вручную

В обработчике кнопки обновления просто вызывается этот метод UpdateDB, а в обработчике кнопки удаления предварительно удаляются все выделенные строки.

Читать:
Как продиагностировать компьютер на неполадки

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

Причем важно отметить действие хранимой процедуры — при добавлении нового объекта данные уходят на сервер, и процедура возвращает нам id добавленной записи. Этот id играет большую роль при генерации нужного sql-выражения, если мы захотим эту запись изменить или удалить. И если бы не хранимая процедура, то нам пришлось бы после добавления данных загружать заново всю таблицу в datagrid, только чтобы у новой добавленной записи был в datagrid id. И хранимая процедура избавляет нас от этой работы.

Также здесь мы могли бы выполнять обновление данных сразу после редактирования строки. Для этого нужно задействовать событие RowEditEnding элемента DataGrid:

И если после окончания редактирования мы нажмем на Enter, то срабатает обработчик события RowEditEnding, который обновит базу данных.

Итак, здесь рассмотрен простейший способ работы с базой данных в WPF. Далее мы рассмотрим еще один способ, который подразумевает применение технологии Entity Framework.

Fill dataGrid from MySQL database in C# WPF

I’m sure that the MySQL part is correct, it does not give any errors. VS10 express doesn’t give any errors. But if i execute the method my dataGrid won’t be filled.

What I’m doing wrong?

Thanks in advance!

5 Answers 5

Set your DataGrid’s binding:

You definitely want it to be bound to the DataTable and not the Adapter, as Rachel suggested (the adapter’s job is to populate the DataTable). Also, it’s good to enclose connections and commands in usings to make sure everything is cleaned up, like this:

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Вывод данных в DataGridView из БД на C#

В Windows Forms табличные данные удобно выводить с помощью элемента управления DataGridView. В статье покажем, как это сделать на примере таблицы из базы данных и языка программирования C#.

Исходные данные для DataGridView

Имеется таблица в базе данных Microsoft SQL Server с информацией о факультетах университета.

Данные для DataGridView

Эти данные будем выводить в элемент DataGridView, расположенный на Windows Forms.

Программа с DataGridView

Создадим новый проект Windows Forms на Visual C# в Visual Studio. На форме расположим элемент управления DataGridView — для этого перетащите его с «Панели элементов» на макет окна.

Добавим в DataGridView три столбца под три соответствующих колонки из таблицы БД с помощью кнопки «Правка столбцов».

Добавление столбцов в DataGridView

Для наглядности назовём их так же, как называются поля в таблице базы данных.

Форма с DataGridView

Переходим к написанию кода. Вся функциональность по чтению данных из БД и их последующему выводу в DataGridView реализована в методе LoadData().

Похожие статьи