Foxtable(狐表)用户栏目专家坐堂 → Relations是否不能对通过SQLCommand生成的表使用


  共有3966人关注过本帖树形打印复制链接

主题:Relations是否不能对通过SQLCommand生成的表使用

帅哥哟,离线,有人找我吗?
wgqcool
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:122 积分:1805 威望:0 精华:0 注册:2016/8/30 12:08:00
Relations是否不能对通过SQLCommand生成的表使用  发帖心情 Post By:2022/4/29 17:49:00 [显示全部帖子]

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

 回到顶部