【问题标题】:Add a data source in my application at run-time在运行时在我的应用程序中添加数据源
【发布时间】:2020-03-20 05:56:34
【问题描述】:

我正在开发 Windows 窗体应用程序,并创建一个设计器应用程序。我使用 devexpress 工具进行设计。 我可以在上面添加各种形状和文本标签,进一步我想将标签与数据库链接,所以我想将它连接到数据库。 为此,我想在运行时添加与数据库的连接,稍后使用该数据源我需要将标签映射到特定表的列,以便可以从该列中选择标签值。 当我打开该标签的属性时,我需要选择数据源、表、列。按 OK 后,标签将从中获取值。

在后期阶段,我需要从任何连接的表、视图或查询中读取数据。 在 devexpress 中,它为此提供了查询生成器,并且它具有数据源连接向导,但这仅在设计时工作,我需要在运行时完成整个工作。

【问题讨论】:

  • 现在连接字符串是怎么设置的?你用的是什么方法?
  • 之前我想在运行时连接到数据库并使用这些值从数据库中获取数据。但现在我在这方面取得了一点成功。我在表单上添加了仪表板设计器控件并将其可见性设置为 false,然后我通过代码调用了 dashboardDesigner1.ShowDataSourceWizard()。因此,通过这个向导打开了与任何类型的数据库的连接,完成后我可以获取有关已连接数据库、其连接字符串、表、列、关系等的所有详细信息。现在我正在链接使用它的文本字段,任何帮助都是可观的。

标签: c# devexpress devexpress-windows-ui


【解决方案1】:

为了将数据库与应用程序连接起来,devexpress 提供了一个仪表板设计器,可以在其中使用向导轻松连接到任何数据库,但使用其对象并调用其 ShowDataSourceWizard() 将调用向导并显示查询编辑器也可以,但是完成后,它无法填充您的数据网格,因为由仪表板设计器控件创建的 DashboardSqlDataSource 组件只能在仪表板中使用,而不能在其他控件中使用

要在没有仪表板的情况下引入所需的功能,请使用 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() 将允许您使用其查询构建器创建查询。

【讨论】:

    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多