Добавить источник данных в мое приложение во время выполнения - PullRequest
0 голосов
/ 20 марта 2020

Я работаю над windows приложением формы и создаю дизайнерское приложение. Я использовал инструменты dev express для проектирования. Я могу добавить различные виды фигур и текстовых меток, далее я хочу связать метки с базой данных, поэтому я хочу подключить их к базе данных. Для этого я хочу добавить соединение с базой данных во время выполнения, а позже, используя этот источник данных, мне нужно сопоставить метку со столбцом конкретной таблицы, чтобы значение метки можно было выбрать из этого столбца. Когда я открываю свойства этой метки, мне нужно выбрать источник данных, таблицу, столбец. При нажатии OK метка будет принимать значение от этого.

На более позднем этапе мне нужно прочитать данные из любой объединенной таблицы, или из представлений или запросов. В dev express он предоставляет Query Builder для этого и имеет мастер подключения к источнику данных, но он работает только во время разработки, и мне нужно сделать все это во время выполнения.

1 Ответ

0 голосов
/ 11 мая 2020

Для соединения базы данных с приложением, dev express предоставляет Dashboard Designer, в котором легко подключиться к любой базе данных с помощью мастера, но использование ее объекта и вызов его ShowDataSourceWizard () вызовет мастер и покажет Вы также запрашиваете редактор, но когда он закончен, он не может заполнить вашу сетку данных, потому что компонент DashboardSqlDataSource, созданный элементом управления Dashboard Designer, может использоваться только в инструментальных панелях и не может использоваться в других элементах управления

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

SqlDataSource objSqlDataSource = new SqlDataSource();
if(SqlDataSourceUIHelper.ConfigureConnection(objSqlDataSource))
{
    if(SqlDataSourceUIHelper.ManageQueries(objSqlDataSource))
    {
        dataGridView1.DataSource = objSqlDataSource;
        dataGridView1.DataMember = objSqlDataSource.Queries[0].Name;
        objSqlDataSource.Fill();
        dataGridView1.Refresh();
    }  
}

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

...