您的位置:首页 > 移动开发 > Objective-C

为何放弃INNER JOIN而改用DataRelation Object来建立一个RelationShip于两个Table。

2005-04-01 00:50 567 查看
(華版)

一般我们都是用INNER JOIN把来自不同table里的数据连接起来,而所得到的数据是整行(row);如果bind到DataGrid控件上,感观上不是那那么的好!反而如果我们用DataRelation来代替此INNER JOIN然后才bind到DataGrid控件上就会有更好的界面效果(见圖)。

          '声明变量

        Dim cn As SqlConnection

        Dim da1 As SqlDataAdapter

        Dim da2 As SqlDataAdapter

        Dim ds As DataSet

        Dim ParentColumn As DataColumn

        Dim ChildColumn As DataColumn

        Dim dr As System.Data.DataRelation

        Try

            '实例化SqlConnection Object

            cn = New SqlConnection("Data Source=localhost;initial catalog=northwind;integrated security=true;")

            cn.Open()

            '实例化地一个别SqlDataAdapter于Customers表里的数据

            da1 = New SqlDataAdapter("SELECT * FROM Customers", cn)

            da2 = New SqlDataAdapter("SELECT * FROM Orders", cn)

            '实例化DataSet Object

            ds = New DataSet

            '把所读取的数据储存到DataSet里

            da1.Fill(ds, "Customers")

            da2.Fill(ds, "Orders")

            '创建DataRelation里的linking column

            ParentColumn = ds.Tables("Customers").Columns("CustomerID")

            ChildColumn = ds.Tables("Orders").Columns("CustomerID")

            '实例化DataRelation Object

            dr = New System.Data.DataRelation("Detail-Orders", ParentColumn, ChildColumn)

            ds.Relations.Add(dr)

            '将DataSet里的数据绑定到DataGrid控件里

            DataGrid1.DataSource = ds

        Catch ex As SqlException

            '

            MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

        End Try
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐