代码调试?

sirfanerbo 2009-02-24 02:47:37
select H0L5S0 AS year, (case when H1L1S0 in('1','2','3') then 1
when H1L1S0 in('4','5','6') then 2
when H1L1S0 in('7','8','9') then 3
when H1L1S0 in('10','11','12') then 4 end) as jidu,count(H0L5S0) as ps,SUM(cast(H6L5S0 as money)) AS RS,SUM(cast(H6L3S0 as money)) AS TS,SUM(cast(H6L5S0 as money)*cast(H6L3S0 as money)) AS RTS,SUM(cast(H6L3S0 as money)) AS pts
from TableData155 GROUP BY H0L5S0,H1L1S0 order by H0L5S0,H1L1S0


这段SQL语句在查询分析器里是正确的 为什么在网页里就是显示 未结束的字符串常量?
是按季度统计的SQL代码
...全文
66 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
layers2323 2009-02-24
  • 打赏
  • 举报
回复
不是你的sql语句逻辑错误
而是你sql这个字符串的拼接错误。你看看有没有我在10楼说的情况。
sirfanerbo 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 layers2323 的回复:]
这样有什么错误? 你把错误信息拿出来。
或者你在执行sql前,把sql用write写出来,一看就能知道错哪里了。
[/Quote]

就是老说是未结束的字符串常量在这段SQL语句里,可是我明明在sql分析器里没错能刷出记录来的
layers2323 2009-02-24
  • 打赏
  • 举报
回复
还有,我想问一下,你在asp里面,这段代码也是换行的吗?
如果是的,asp换行是要加 _的
layers2323 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sirfanerbo 的回复:]
像楼上这样就是报错未结束的字符串常量,我之前也是这个样子后来改了 该来该去还是不对的 [/Quote]


这样有什么错误? 你把错误信息拿出来。
或者你在执行sql前,把sql用write写出来,一看就能知道错哪里了。

sirfanerbo 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 layers2323 的回复:]
"select H0L5S0 AS year, (case when H1L1S0 in('1','2','3') then 1
when H1L1S0 in('4','5','6') then 2
when H1L1S0 in('7','8','9') then 3
when H1L1S0 in('10','11','12') then 4 end) as jidu,count(H0L5S0) as ps,SUM(cast(H6L5S0 as money)) AS RS,SUM(cast(H6L3S0 as money)) AS TS,SUM(cast(H6L5S0 as money)*cast(H6L3S0 as money)) AS RTS,SUM(cast(H6L3S0 as money)) AS pt…
[/Quote]

像楼上这样就是报错未结束的字符串常量,我之前也是这个样子后来改了 该来该去还是不对的
layers2323 2009-02-24
  • 打赏
  • 举报
回复
"select H0L5S0 AS year, (case when H1L1S0 in('1','2','3') then 1
when H1L1S0 in('4','5','6') then 2
when H1L1S0 in('7','8','9') then 3
when H1L1S0 in('10','11','12') then 4 end) as jidu,count(H0L5S0) as ps,SUM(cast(H6L5S0 as money)) AS RS,SUM(cast(H6L3S0 as money)) AS TS,SUM(cast(H6L5S0 as money)*cast(H6L3S0 as money)) AS RTS,SUM(cast(H6L3S0 as money)) AS pts
from TableData155 GROUP BY H0L5S0,H1L1S0 order by H0L5S0,H1L1S0"
sirfanerbo 2009-02-24
  • 打赏
  • 举报
回复
"select H0L5S0 AS year, (case when H1L1S0 in("'1'","'2'","'3'") then 1
when H1L1S0 in("'4'","'5'","'6'") then 2
when H1L1S0 in("'7'","'8'","'9'") then 3
when H1L1S0 in("'10'","'11'","'12'") then 4 end) as jidu,count(H0L5S0) as ps,SUM(cast(H6L5S0 as money)) AS RS,SUM(cast(H6L3S0 as money)) AS TS,SUM(cast(H6L5S0 as money)*cast(H6L3S0 as money)) AS RTS,SUM(cast(H6L3S0 as money)) AS pts
from TableData155 GROUP BY H0L5S0,H1L1S0 order by H0L5S0,H1L1S0"

只是这样子的 不对
layers2323 2009-02-24
  • 打赏
  • 举报
回复
....
从sql=开始算起,双引号里面别套双引号
sirfanerbo 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lzp4881 的回复:]
sql="select H0L5S0 AS year, (case when H1L1S0 in(""1"",""2"",""3"") then ""1"", ......"
双引号包含双引号要用两个,或者里面用单引号
[/Quote]
when H1L1S0 in("‘1’","‘2’","‘3’") then 1, 跳到这句错了 里面用单引号不是双引号 我这个 1.2.3是 月份 作为一季度 一次类推
lzp4881 2009-02-24
  • 打赏
  • 举报
回复
sql="select H0L5S0 AS year, (case when H1L1S0 in(""1"",""2"",""3"") then ""1"", ......"
双引号包含双引号要用两个,或者里面用单引号
sirfanerbo 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 layers2323 的回复:]
老兄,可否把详细的错误信息贴出来。
[/Quote]

错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
/1111111/JD.asp, line 55, column 51
sql="select H0L5S0 AS year, (case when H1L1S0 in("1","2","3") then "1",
--------------------------------------------------^
layers2323 2009-02-24
  • 打赏
  • 举报
回复
老兄,可否把详细的错误信息贴出来。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧