手动建立主从表关系数据库显示

本文详细阐述了如何使用ADO.NET构建数据集并创建两个表之间的关联,包括数据库连接、SQL命令设置、数据填充和关系建立等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dim dsOrdersAndDetails As New DataSet()

        '两个SqlDataAdapter,一个用来读取Orders表,
        '一个用来读取Order Details表
        Dim daOrders As New SqlClient. SqlDataAdapter()
        Dim daDetails As New SqlClient. SqlDataAdapter()

        '数据库连接
        Dim conn As New SqlClient. SqlConnection()

        '建立两个数据表,一个代表Orders表,
        '一个代表OrderDetails表
        Dim tblOrders As New DataTable()
        Dim tblDetails As New DataTable()

        '把两个数据表加入到数据集中
        dsOrdersAndDetails.Tables.Add(tblOrders)
        dsOrdersAndDetails.Tables.Add(tblDetails)

        '设置数据库连接字符串
        conn.ConnectionString = "Data Source=(local);Initial Catalog=wb2012;Integrated Security=SSPI"

        '设置读取数据的SQL命令
        daOrders.SelectCommand = New SqlClient.SqlCommand ("Select * From Fi_mCustomer", conn)
        daDetails.SelectCommand = New SqlClient.SqlCommand ("Select * From [Fi_Customer]", conn)

        '打开数据库连接,填充两个数据表
        conn.Open()
        daOrders.Fill(tblOrders)
        daDetails.Fill(tblDetails)
        conn.Close()

        '开始建立两个数据表之间的关联
        '必须在数据表被填充以后建立关联,因为在那以前,两个数据表都是空的
        '关联也无从谈起
        Dim rltOrdersToDetails As DataRelation

        '第一个参数是关联的名字,就像Case7_5中的OrdersOrder_x0020_Details
        '第二个参数是主子段,也就是主表中的OrderID
        '第三个参数是从字段,也就是从表中的OrderID
        rltOrdersToDetails = New DataRelation ("Orders_To_Details", _
                                         tblOrders.Columns("cid" ), _
                                         tblDetails.Columns("cid" ))
        '把建立好的关联加入数据集
        dsOrdersAndDetails.Relations.Add(rltOrdersToDetails)
        Me.DataGridView1.DataSource = tblOrders
        Me.DataGridView2.DataSource = tblOrders
        Me.DataGridView2.DataMember = "Orders_To_Details"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值