【问题标题】:Syntax error (missing operator) in query expression查询表达式中的语法错误(缺少运算符)
【发布时间】:2018-01-29 00:26:55
【问题描述】:
Dim sql As String = "SELECT DISTINCT LED.IDX As IDX, CORPCODE, UNITTYPECODE, UPPERFORMATIONCODE, FORMATIONCODE, LED.UNITCODE As UNITCODE,LED.STORECODE As STORECODE, LED.SECTIONNO As SECTIONNO, LED.PARTNO As PARTNO, "
            sql &= " LED.BATCHNO As BATCHNO, UNITITEMCATEGORYCODE, LEDGERDATE, ENTITLEMENT, HOLDING, SURPLUS, SHORTAGE, COSTHOLDING, COSTENTITLEMENT, INITIALSTOCK, EMPLOYQTY, FIGHTQTY, ITEMAGE1, ITEMAGE2, ITEMAGE3,"
            sql &= " ITEMAGE4, LED.BAH_BEREK, LED.JENIS_BEREK, JPTD_NO, LASTUPDATE, LED.ITEMTYPECODE As ITEMTYPECODE, LED.TOOLTYPECODE As TOOLTYPECODE, LED.PAKAIBHGCODE, LED.PAKAICODE, ITEMNIDX, LED.CREATEID As CREATEID, "
            sql &= " LED.UPDATEID As UPDATEID, LED.CREATEDATE As CREATEDATE, LED.UPDATEDATE As UPDATEDATE, "
            sql &= " USERID, RANKCODE, SERVICENO, USERNAME, DESIGNATIONCODE, PASSWORD, "
            sql &= " 'OPER' AS GROUPCODE,5 AS ACESSID, 0 AS STATUS "
            sql &= " FROM (LEDGER AS LED) "
            sql &= " LEFT JOIN NUSER   On NUSER.USERID = LED.UPDATEID   WHERE (1=1)   "
            If condation <> "" Then
                sql += condation
            End If
            sql &= " UNION SELECT DISTINCT LED.IDX As IDX, CORPCODE, UNITTYPECODE, UPPERFORMATIONCODE, FORMATIONCODE, LED.UNITCODE As UNITCODE, LED.STORECODE As STORECODE, LED.SECTIONNO As SECTIONNO, LED.PARTNO As PARTNO, "
            sql &= " LED.BATCHNO As BATCHNO, UNITITEMCATEGORYCODE, LEDGERDATE, ENTITLEMENT, HOLDING, SURPLUS, SHORTAGE, COSTHOLDING, COSTENTITLEMENT, INITIALSTOCK, EMPLOYQTY, FIGHTQTY, ITEMAGE1, ITEMAGE2, ITEMAGE3,"
            sql &= " ITEMAGE4, LED.BAH_BEREK, LED.JENIS_BEREK, JPTD_NO, LASTUPDATE, LED.ITEMTYPECODE As ITEMTYPECODE, LED.TOOLTYPECODE As TOOLTYPECODE, LED.PAKAIBHGCODE, LED.PAKAICODE, ITEMNIDX, LED.CREATEID As CREATEID, "
            sql &= " LED.UPDATEID As UPDATEID, LED.CREATEDATE As CREATEDATE, LED.UPDATEDATE As UPDATEDATE,"
            sql &= " ('' AS USERID), ('' AS RANKCODE),('' AS SERVICENO),('' AS USERNAME),('' AS DESIGNATIONCODE), ('' AS PASSWORD), 'OPER',5 , STATUS "
            sql &= " FROM LEDGER_HISTORY LED WHERE (1=1) "

error 是查询表达式 '('' AS USERID)' 中的语法错误(缺少运算符)。 谁能帮我解决这个问题

【问题讨论】:

    标签: sql .net vb.net visual-studio


    【解决方案1】:

    错误是正确的。问题是括号。

    此语法不适用于 SQL:

    SELECT ('' AS USERID)
    

    但是,这是:

    SELECT ('') AS USERID
    

    或者只是:

    SELECT '' AS USERID
    

    FROM (LEDGER AS LED) 也有同样的问题。

    【讨论】:

    • 非常感谢..但它仍然不起作用..一旦我这样做了,就会出现此错误:SELECT语句包含拼写错误或丢失的保留字或参数名称,或者标点符号不正确。
    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 2018-09-02
    • 2012-11-14
    相关资源
    最近更新 更多