在线情况
楼主
  • 头像
  • 级别
    • 积分505
    • 经验31390
    • 文章466
    • 注册2006-03-31
    关于存储过程的问题
    CREATE procedure [dbo].[sel_main_class]

    @main_id int

    as
        begin
           select * from dbo.[main_class] where main_id>@main_id
           return
    end
    这是存储过程的定义
    et conn=Server.CreateObject("ADODB.Connection")
    conn.open "driver={SQL Server};database=wangyan;Server=localhost;uid=sa;pwd="
    set rs=Server.CreateObject("ADODB.Recordset")
    response.write("haha")

    DIM MyComm,MyRst,main_id
    main_id=3
    Set MyComm = Server.CreateObject("ADODB.Command")
    MyComm.ActiveConnection = conn          'MyConStr是数据库连接字串
    MyComm.CommandText = "sel_main_class"     '指定存储过程名
    MyComm.CommandType = 4                 '表明这是一个存储过程
    MyComm.Prepared = true              '要求将SQL命令先行编译

    MyComm.Parameters.append MyComm.CreateParameter("@main_id",3,1,4,main_id)

    rs.open mycomm,,1,3
    response.write(rs.recordcount)
    为什么返回值是-1
    asp技术学习感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分3233
      • 经验106599
      • 文章3078
      • 注册2005-10-16
      rs.open mycomm,3,1
      asp技术学习感谢您的参与
      在线情况
      3
      • 头像
      • 级别
        • 积分505
        • 经验31390
        • 文章466
        • 注册2006-03-31
        不行呀,应该是返回一个结果集亚, response.write(rs.recordcount) 因该是记录数 可是还是-1
        asp技术学习感谢您的参与
        在线情况
        4
        • 头像
        • 级别
        • 徽章
        • 声望+5
        • 积分11847
        • 经验342142
        • 文章11798
        • 注册2003-12-31
        从我学存储过程开始就没用过这样的方式
        asp技术学习感谢您的参与
        在线情况
        5
        • 头像
        • 级别
        • 徽章
        • 声望+5
        • 积分11847
        • 经验342142
        • 文章11798
        • 注册2003-12-31
        Set rs = MyComm.Execute()
        asp技术学习感谢您的参与
        在线情况
        6
        • 头像
        • 级别
        • 徽章
        • 声望+5
        • 积分11847
        • 经验342142
        • 文章11798
        • 注册2003-12-31
        至于记录数,为什么不使用输出参数返回
        asp技术学习感谢您的参与
        在线情况
        7
        • 头像
        • 级别
          • 积分3233
          • 经验106599
          • 文章3078
          • 注册2005-10-16
          这样的话,游标和锁都是默认的了
          asp技术学习感谢您的参与
          在线情况
          8
          • 头像
          • 级别
          • 徽章
          • 声望+5
          • 积分11847
          • 经验342142
          • 文章11798
          • 注册2003-12-31
          为什么不用默认的呢.仅向前游标消耗少,速度快,何乐而不为呢
          asp技术学习感谢您的参与
          在线情况
          9
          • 头像
          • 级别
            • 积分206
            • 经验4797
            • 文章195
            • 注册2006-04-05
            有个@@ROWCOUNT作为返回值
            asp技术学习感谢您的参与
            在线情况
            10
            • 头像
            • 级别
              • 积分3233
              • 经验106599
              • 文章3078
              • 注册2005-10-16
              他想要而已…… 我一向都是用默认的 说老实话,就连.net里的dataset,我都没怎么用过,都是用的datareader, 因为,破坏了结构,感觉, dataset是废物,ado.net还把它当宝,嘿嘿
              asp技术学习感谢您的参与
              在线情况
              11
              • 头像
              • 级别
                • 积分206
                • 经验4797
                • 文章195
                • 注册2006-04-05
                感觉最耗资源的就是游标了
                asp技术学习感谢您的参与
                Page created in 0.0312 seconds with 8 queries.