Join将两个表根据关联字段合并成一个新表。如果A表和B表的关联字段是一对多的关系,结果也将呈现多种组合结果。
语法:
Join(addDataTable,addlinkCols,sourceLinkCols,addCols)
参数说明
名称 | 说明 |
addDataTable | 必填项,DataTableHelp类型,新加字段的关联表。 |
addlinkCols | 必填项,字符串类型,新表的关联字段。这里如果有多个关联字段的话,每个字段名之间用“,”隔开,例如:ID,SubID。 |
sourceLinkCols | 可选项,字符串类型,源表的关联字段。如果省略为空的话,则默认与上面新表的关联字段一样。如果字段名不一样则需要设置一一对应的字段名。格式也同addlinkCols参数一样,每个字段名之间用“,”隔开。 |
addCols | 可选项,字符串类型,新表要添加的字段名,如果有多个关联字段的话,每个字段名之间用“,”隔开。默认为空,表示将除了关联字段外的所有字段都添加了。 |
为了演示数据处理的关系,我们专门做了一个Demo。参考“数据查询Demo”中的演示效果。
Vb.Net |
Public Sub btnJoin_Click(sender As Object,e As System.EventArgs) '如果最后一个参数什么都不指定,则添加tblMain2中所有字段 Dim dt As DataTableHelp= tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp,"客户","客户","") tblResult.DataSource=dt '将结果绑定到tblResult中并显示出来 End Sub Public Sub btnJoin2_Click(sender As Object,e As System.EventArgs) '只添加指定的几个列 Dim dt As DataTableHelp=tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp,"客户","客户","客户名称,客户联系人") tblResult.DataSource=dt '将结果绑定到tblResult中并显示出来 End Sub Public Sub btnJoin3_Click(sender As Object,e As System.EventArgs) '先重新填充tblMain1和tblMain2表 tblMain1.Fill("select * from 订单信息 where 业务员='业务员01' and 产品='产品02'",db,True,True) tblMain2.Fill("select * from 客户付款记录",db,True,True) '如果最后一个参数什么都不指定,则添加tblMain2中所有字段 Dim dt As DataTableHelp= tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp,"客户","客户","") tblResult.DataSource=dt '将结果绑定到tblResult中并显示出来 End Sub |
C# |
public void btnJoin_Click(object sender, System.EventArgs e) { // 如果最后一个参数什么都不指定,则添加tblMain2中所有字段 DataTableHelp dt = tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp, "客户", "客户", ""); tblResult.DataSource = dt; // 将结果绑定到tblResult中并显示出来 } public void btnJoin2_Click(object sender, System.EventArgs e) { // 只添加指定的几个列 DataTableHelp dt = tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp, "客户", "客户", "客户名称,客户联系人"); tblResult.DataSource = dt; // 将结果绑定到tblResult中并显示出来 } public void btnJoin3_Click(object sender, System.EventArgs e) { // 先重新填充tblMain1和tblMain2表 tblMain1.Fill("select * from 订单信息 where 业务员='业务员01' and 产品='产品02'", db, true, true); tblMain2.Fill("select * from 客户付款记录", db, true, true); // 如果最后一个参数什么都不指定,则添加tblMain2中所有字段 DataTableHelp dt = tblMain1.DataTableHelp.Join(tblMain2.DataTableHelp, "客户", "客户", ""); tblResult.DataSource = dt; // 将结果绑定到tblResult中并显示出来 } |