create PROCEDURE [dbo].[getUserNamebbcc]
       @UserName varchar(100),
       @paww varchar(100)    as
     begin
 declare @cishu int
declare @mon int 
declare @uuid int 
declare @StartTime datetime
set @StartTime =(select getdate())       select top 1 pe_pwdd,pe_sex,pe_nini,diqu1,diqu2,pe_UserId,addtime,pe_zhuye,pe_cishu
           from dbo.[useruser1] 
           where pe_email=@UserName and pe_pwdd=@paww  ---ASP里这行的值可以取出来
   
if @@rowcount>0
begin
select top 1 @uuid=pe_UserId
           from dbo.[useruser1] 
           where pe_email=@UserName and pe_pwdd=@paww
update useruser1 set pe_cishu=pe_cishu+1,zuihoutime=@StartTime where pe_email=@UserName
   Select pe_jibie,pe_zeou,pe_Photo,pe_nianji,pe_zhuye,pe_zhaopian From [yqruser] Where pe_UserId=@uuid  ---ASP里这行的值取不出来
end  
   else
   return 1
     end我用ASP调用,第一个SQL里SELECT的全部能取出来,第二个SELECT的值取不出来,为什么啊
ASP取值的代码是Set MyComm = Server.CreateObject("ADODB.Command")
with MyComm 
   .ActiveConnection = conn          'MyConStr是数据库连接字串
       .CommandText      = "getUserNamebb"     '指定存储过程名
       .CommandType      = 4                 '表明这是一个存储过程
       .Prepared         = true              '要求将SQL命令先行编译.Parameters.Append .CreateParameter("RETURN",2,4)
.parameters.append .createparameter("@UserName",200,1,40,P_UserName) 
.parameters.append .createparameter("@paww",200,1,40,P_Password)
'MyComm.parameters.append.createparameter("@pagecount",adInteger,Const adParamOutput) 
'.execute
end with 
set rs=MyComm.execute  
youwu=MyComm(0)
if youwu=1 then
 Response.End()
 else   
  pe_nini=rs("pe_nini") 
  uid_ab=rs("pe_UserId")

 pe_nianji=rs("pe_nianji")
  response.write pe_nianji ----在对应所需名称或序数的集合中,未找到项目。

解决方案 »

  1.   

    pe_nianji=rs("pe_nianji")
      response.write pe_nianji ----在对应所需名称或序数的集合中,未找到项目。
    你上面有这个pe_nianji么?
      

  2.   

    上面的没有,但是我是两个SELECT里的值都要取啊,下面这个SELECT里有pe_nianji呀,Select pe_jibie,pe_zeou,pe_Photo,pe_nianji,pe_zhuye,pe_zhaopian From [yqruser] Where pe_UserId=@uuid ---ASP里这行的值取不出来意思就是,如果一个存储过程里有多个SELECT的话,怎么在ASP里取值呢???我现在只能取到第一个SELECT的值
      

  3.   

    我在ASP里加了一句。。
    pe_zhuye=rs("pe_zhuye")---第一个SELECT里的全部取完后
    Set   rs   =   rs.NextRecordset() 
    pe_nianji=rs("pe_nianji")---取第二个SELECT里的字段值还是不行,第二个SELECT的都取不出,郁闷
      

  4.   

    输出@uuid看看是否正确。检查Select pe_jibie,pe_zeou,pe_Photo,pe_nianji,pe_zhuye,pe_zhaopian From [yqruser] Where pe_UserId=@uuid 表,字段是否有误
      

  5.   

    Set rs = rs.NextRecordset()
    这句是关键,如果读取多个记录集,在ASP里面要有这句代码的
      

  6.   

    你一共有3个select语句啊,所以 可能应该执行两次rs.NextRecordset()  ,因为你提到的读不出来的那个SELECT记录 是第三个