【问题标题】:Fetch Error:Incorrect syntax near 'edrsDB'. ---> sql statement in asp.net vb提取错误:“edrsDB”附近的语法不正确。 ---> asp.net vb中的sql语句
【发布时间】:2017-03-23 02:19:29
【问题描述】:

我想从数据库中获取数据。但他们说发生了语法错误。

这是代码

lsCmd = "SELECT * FROM"
            lsCmd &= "(SELECT DISTINCT userid, status, DATEPART(dd, [date]) as Date"
            lsCmd &= "FROM edrsDB..tbl_status"
            lsCmd &= "Union"
            lsCmd &= "SELECT DISTINCT userid, status, DATEPART(DD,[date]) as Date"
            lsCmd &= "FROM edrsDB..tbl_public_holiday"
            lsCmd &= "Union ALL"
            lsCmd &= "SELECT DISTINCT userid, status, DATEPART(DD,[Date]) as Date "
            lsCmd &= "FROM edrsDB..tbl_station_weekend"
            lsCmd &= "WHERE DatePart(MM, [Date]) = 3"
            lsCmd &= "And DATEPART(YYYY, [date]) = 2017"
            lsCmd &= "And date IS NOT NULL) AS monthlyRpt"
            lsCmd &= "PIVOT (MAX(status)"
            lsCmd &= "FOR userid IN (XSP, BSR, BPT, XPW, IPH, XTH, TGG, XKG, XKM, XLG, KBR, KUA, LGK,MKZ, PEN, XGM, JHB, XBN, STW, TIN, MUA)) AS pivottable"

他们是这么说的

{"获取错误:'edrsDB' 附近的语法不正确。"}

【问题讨论】:

  • 检查调试器中的lsCmd 变量。你应该看到问题。如果您查看字符串,您会在某些地方看到类似这样的内容:as DateFROM edrsDB。您需要在字符串的正确位置添加空格以分隔 DateFROM 以及其他位置。
  • 哦,我看到双重代码和语句之间没有空格我已经通过添加空格更正了代码..呵呵

标签: asp.net sql-server vb.net


【解决方案1】:

这是我在每个 lscmd="

lsCmd = "SELECT * FROM"
            lsCmd &= " (SELECT DISTINCT userid, status, DATEPART(dd, [date]) as Date"
            lsCmd &= " FROM edrsDB..tbl_status"
            lsCmd &= " Union"
            lsCmd &= " SELECT DISTINCT userid, status, DATEPART(DD,[date]) as Date"
            lsCmd &= " FROM edrsDB..tbl_public_holiday"
            lsCmd &= " Union ALL"
            lsCmd &= " SELECT DISTINCT userid, status, DATEPART(DD,[Date]) as Date "
            lsCmd &= " FROM edrsDB..tbl_station_weekend"
            lsCmd &= " WHERE DatePart(MM, [Date]) = 3"
            lsCmd &= " And DATEPART(YYYY, [date]) = 2017"
            lsCmd &= " And date IS NOT NULL) AS monthlyRpt"
            lsCmd &= " PIVOT (MAX(status)"
            lsCmd &= " FOR userid IN (XSP, BSR, BPT, XPW, IPH, XTH, TGG, XKG, XKM, XLG, KBR, KUA, LGK,MKZ, PEN, XGM, JHB, XBN, STW, TIN, MUA)) AS pivottable"

【讨论】:

    猜你喜欢
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多