【发布时间】: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。您需要在字符串的正确位置添加空格以分隔Date和FROM以及其他位置。 -
哦,我看到双重代码和语句之间没有空格我已经通过添加空格更正了代码..呵呵
标签: asp.net sql-server vb.net