【问题标题】:U2 Universe Update Multi value field errrorU2 Universe 更新多值字段错误
【发布时间】:2016-11-29 00:24:54
【问题描述】:

我正在使用 Universe U2.net 工具包来更新 Universe 数据库中的记录。到目前为止,使用以下代码更新非多值字段没有问题

Open_Again:
    Try
        db_connectionU2 = openConnU2()
        db_connectionU2.Open()
    Catch ex As Exception
        GoTo Open_Again
    End Try

    Dim cmdWIP As New U2Command
    'cmdWIP = New U2Command("DELETE FROM MPS", db_connectionU2)
    cmdWIP = New U2Command("UPDATE POH SET EPOS=@FLAG where PONO='C11447'", db_connectionU2)
    cmdWIP = New U2Command("UPDATE CURCVRD F8=@F8 where F0='51747*1'", db_connectionU2)
    cmdWIP.Parameters.Add(New U2Parameter("@F8", U2Type.VarChar)).Value = "t"
    cmdWIP.Connection = db_connectionU2
    cmdWIP.ExecuteNonQuery()
    cmdWIP.Dispose()
    cmdWIP = Nothing

    db_connectionU2.Close()
    db_connectionU2.Dispose()
    db_connectionU2 = Nothing

但是当我们尝试添加到多值字段时它会出现问题。它返回错误“列从单个更新为多个是非法的。请查看红色框的消息和我们正在写入的值。

请点击下方查看截图

enter image description here

谢谢

【问题讨论】:

    标签: multivalue universe


    【解决方案1】:

    您需要查看该文件的 DICT,并确保您的条目已标记和多值,并具有多值关联。

    这是来自 HS.SALES 模拟账户的示例。

    >LIST DICT CUSTOMER
    DICT CUSTOMER    03:56:47pm  01 Dec 2016  Page    1
    
                   Type &
    Field......... Field. Field........ Conversion.. Column......... Output Depth &
    Name.......... Number Definition... Code........ Heading........ Format Assoc..
    
    CUSTID         D    0               P(0N)        Customer ID     10R    S
    @ID            D    0                            CUSTOMER        10L    S
    SAL            D    1                            Salutation      5T     S
    FNAME          D    2                            First Name      12T    S
    LNAME          D    3                            Last Name       16T    S
    COMPANY        D    4                            Company Name    20T    S
    ADDR1          D    5                            Address line 1  30T    S
    ADDR2          D    6                            Address line 2  30T    S
    CITY           D    7                            City            12T    S
    STATE          D    8               P(2A)        State           2L     S
                                        MCU
    ZIP            D    9               P(5N)        Zip             5L     S
    PHONE          D   10               P("("3N")"3N Telephone       13R    S
                                        -4N)
    PRODID         D   11               P(1A4N)      Product         5L     M ORDER
                                                                            S
    SER_NUM        D   12               P(6N)        Serial#         6L     M ORDER
                                                                                 S
    

    注意 PRODID 在 is 之后如何具有“M ORDERS”(由于我的终端的 80 字符大小,is 下降到下一行。这告诉 Universe,它是一个多值字段,带有一个名为 ORDERS 的关联。这允许 SQL解释器知道如何更新内容。

    它变得有点复杂,我建议查找 HS.ADMIN,特别是 HS.SCRIB,以获取有关格式化非挑选样式消费的提示。查看 UVodbc 指南以获取更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多