Dim dt As DataTable = args(0)
Dim str() As String = args(1)
Dim pgl As String = dt.name & "yl"
If Relations.Contains(pgl) = True Then '如果已经存在关联
Relations.Delete(pgl)
End If
Dim cmd As new SQLCommand
cmd.ConnectionName = vars("maindata")
cmd.CommandText = "s elect [_Identify],物料号,品名,规格参数,工序,封装,品牌,误差 fro m {sf_raw} where [_Identify] is not null"
Dim ds As DataTable = cmd.ExecuteReader(True)
If dt.DataCols.Contains("编码") And ds.DataCols.Contains("物料号") Then
Relations.Add(pgl,ds.DataCols("物料号"),dt.DataCols("编码"),False,RelationPathEnum.none)
运行到这里报错:如果父列或子列不在 DataSet 中,则无法创建 DataRelation。
是否是因为ds作为一个通过cmd.ExecuteReader生成的datatable无法用Relations.add?
msgbox(pgl)
Else
msgbox("父表或子表找不到关键列!")
End If