极其郁闷的asp+储存过程,数据丢失?高手们请指点,[[[在先等待]]]初学者
有两个查询
查询一:直接使用
Sql="select * from tCellDataSource"
Set Rs1=Server.CreateObject("ADODB.Recordset")
Rs1.Open Sql,Conn,1,1
查询二:使用储存过程
asp 中调用如下:
Set ComSP=Server.CreateObject("ADODB.Command")
CmdSP.Commandtype = adCmdStoredProc
CmpSP.Parameters.Append CmpSP.CreateParameter("@dDate",adDate,adParamInput,"2005-2-1")
CmpSP.Parameters.Append CmpSP.CreateParameter("@FromDate",adDate,adParamInput,"2005-1-26")
CmpSP.Parameters.Append CmpSP.CreateParameter("@ToDate",adDate,adParamInput,"2005-2-25")
Set CmpSP.ActiveConnection=conn
ComSP.CommandText="dbo.mp_DaySaleLY"
Set Rs2=Server.CreateObject("ADODB.Recordset")
Rs2.CursorType=3
Rs2.open CmpSP,,1,1
response.write rs2.recordcount*****(1)*******没有结果,不知道为什么!?
换一种方法:
sql="Execute dbo.mp_DaySaleLY '2005-2-1','2005-1-26','2005-2-25'"
response.write rs1(0)************(2)********有结果
Set Rs2=Conn.execute(sql)********(3)********
response.write rs2.recordcount***(4)********结果为-1
response.write rs1(0)************(5)*******没有值??????????
response.write rs2(0)************(4)********有结果
小弟初学用储存过程,郁闷一整天,(1)还是不行,是不是什么参数写错了,在SQLServer中储存过程以验证;(5)的结果拿去了??
往指点
问题点数:50、回复次数:9Top
1 楼zhanglemail(咕噜)回复于 2005-05-25 16:22:36 得分 0
up -——upTop
2 楼NetFishDuDu()回复于 2005-05-25 16:25:20 得分 10
你的第一种方法可以试试这个:
set Rs1= Conn.execute(sql,,adCmdText)Top
3 楼NetFishDuDu()回复于 2005-05-25 16:27:11 得分 0
你如果用存储过程的方法,参数应该不要用@吧,Top
4 楼BeShrek(今晚打老虎)回复于 2005-05-25 16:43:55 得分 10
这个属性只有在使用确定的光标类型时才有效(不能使用服务器端的前向光标和服务器端的动态光标)。
对于前向光标,只有在遍历整个记录集后才能得到这个属性的值,否则永远是-1。
只有在记录集支持近似定位或书签时,才可以准确的计算出这个属性值。Top
5 楼langzi520(虽左但右)回复于 2005-05-26 16:15:26 得分 0
Up----upTop
6 楼itzhiren(itzhiren)回复于 2005-05-26 16:58:45 得分 20
asp 中调用如下:
Set ComSP=Server.CreateObject("ADODB.Command")
CmpSP.ActiveConnection=conn
ComSP.CommandText="dbo.mp_DaySaleLY"
CmdSP.Commandtype = adCmdStoredProc
CmpSP.Parameters.Append CmpSP.CreateParameter("@dDate",adDate,adParamInput,"2005-2-1")
CmpSP.Parameters.Append CmpSP.CreateParameter("@FromDate",adDate,adParamInput,"2005-1-26")
CmpSP.Parameters.Append CmpSP.CreateParameter("@ToDate",adDate,adParamInput,"2005-2-25")
Set Rs2=Server.CreateObject("ADODB.Recordset")
Rs2.CursorType=3
set rs2=comsp.execute
response.write rs2.recordcountTop
7 楼lovcal(枫兮)回复于 2005-05-27 09:31:10 得分 0
itzhiren(itzhiren) 有区别么?还是不行……Top
8 楼kingcrab(叫什么好呢...)回复于 2005-05-27 10:24:06 得分 10
有可能你的存储过程没有返回结果,有时候你在查询分析器可以看到结果,在asp里面不一定可以得到结果的。http://community.csdn.net/Expert/topic/3998/3998359.xml?temp=.8588678Top
9 楼BeShrek(今晚打老虎)回复于 2005-05-27 11:07:53 得分 0
晕,没看我的回答么?
改一下光标类型就可以了Top




