在查询分析器里执行下面语句没问题:
------------------------------------
declare @firstdate int
select @firstdate=@@datefirst
if @firstdate<>1 set datefirst 1
select datepart(dw,getdate()) as NumOfWeek
但写在asp里却报错:我是这样写的
--------------------------------
Set Rs = Server.CreateObject("Adodb.RecordSet")
/////////////////////得到星期几////////////////////////////////////
Sqlstr = ""
Sqlstr = Sqlstr & "declare @firstdate int "
Sqlstr = Sqlstr & "select @firstdate=@@datefirst "
Sqlstr = Sqlstr & "if @firstdate <> 1 "
Sqlstr = Sqlstr & "set datefirst 1 "
Sqlstr = Sqlstr & "select datepart(dw,getdate()) NumOfWeek"
Response.write sqlstr
Response.end
Rs.Open Sqlstr,Conn,1,1
temp = Rs("NumOfWeek")
出错信息如下:
------------------------
Microsoft VBScript 编译器错误 错误 800a03f6
缺少 End
/iisHelp/common/500-100.asp,行242
ADODB.Recordset 错误 800a0cc1
在对应所需名称或序数的集合中,未找到项目。
/radio/preact/client/leftjiemuyg.asp,行43
高手帮忙啊,在线等待~~恨急
你这种情况,千万要注意留空格
有参数最好做成存储过程,这样写在asp中会报错,建议你用command对象,调用它,这样就不会报错了。
asp里面可以这样写sql语句嘛?
我记得好像就是一句的。哪有这样做的啊
不能直接把流程语句连接,建议你:
1、把该语句改为存储过程;
2、把需要的数据以游标的方式保存在本地,然后用本地的编程语言判断;
3、把以上的语句在连接符前加上 &go (理论上可以,未曾实践);
祝你好运!