【问题标题】:Getting information about DataRelations in a DataSet获取有关 DataSet 中 DataRelations 的信息
【发布时间】:2012-03-25 22:31:38
【问题描述】:

使用数据适配器的FillSchema-method获得表结构

    using (SqlConnection sqlConn = new SqlConnection(connectionString))
    {
        var dataAdapter = new SqlDataAdapter();
        var dataSet = new DataSet();

        sqlConn.Open();

        string sqlSelectCommand = "select * from Projects;\nselect * from Staff"

        dataAdapter.SelectCommand = new SqlCommand(sqlSelectCommand, sqlConn);

        dataAdapter.FillSchema(dataSet, SchemaType.Source); 
        dataAdapter.Fill(dataSet);

        dataSet.Tables[0].TableName = "Projects";
        dataSet.Tables[1].TableName = "Staff";

        // create relations between the tables
        // is there an alternative way?
        var relation = new DataRelation("FK_Projects_Staff", dataSet.Tables["Staff"].Columns["ID"], dataSet.Tables["Projects"].Columns["Responsible_ID"], true);
        dataSet.Relations.Add(relation);

        // do some manipulations on data using projectsDataAdapter and staffDataAdapter
        // ...
    }

是否有类似的方法来填充所有相关表的关系?

【问题讨论】:

    标签: c# ado.net dataset dataadapter datarelation


    【解决方案1】:

    看看下面的链接能不能帮到你。

    http://csharptutorial.com/how-to-create-a-dataset-programmatically/

    【讨论】:

    • 他们还手动创建 DataRelation 对象,就像在我的示例中一样。但我想自动...
    • 不能自动完成,可以在代码中使用循环,手动添加
    • 看起来是这样的。有了这个query,我收到了我的数据集的所有关系
    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多