Добавить источник данных в мое приложение во время выполнения

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

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


person Shubhit304    schedule 20.03.2020    source источник
comment
Как сейчас задается строка подключения? Какой метод вы используете?   -  person Marko Juvančič    schedule 24.03.2020
comment
Ранее я хотел подключиться к базе данных во время выполнения и использовать значения для извлечения данных из базы данных. Но теперь я немного преуспел в этом. Я добавил элемент управления дизайнером панели мониторинга в свою форму и установил для его видимости значение false, а затем вызвал метод dashboardDesigner1.ShowDataSourceWizard() с помощью кода. Таким образом, открывается мастер для подключения к любому типу БД, и по его завершении я могу получить все подробности о подключенных базах данных, их строке подключения, таблицах, столбцах, отношениях и т. д. Сейчас я работаю над связыванием текстовое поле, используя это, любая помощь заметна.   -  person Shubhit304    schedule 25.03.2020


Ответы (1)


Для подключения базы данных к приложению devexpress предоставляет дизайнер панели мониторинга, в котором легко подключиться к любой базе данных с помощью мастера, но использование его объекта и вызов его 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() позволит вам создавать запросы с помощью построителя запросов.

person Shubhit304    schedule 11.05.2020