sql存储过程带二个参加,返回查询指定业务员某一年的销售报表记录,用查询分析器查询速度很快,不存在数据量大的问题
但用下面代码循环返回几个业务员的操作要十几秒时间Set rs_one = con.Execute("EmployeeSalesYearMonth " & strY_ & "," & rs("EmployeeID"))

解决方案 »

  1.   

    如果你确认数据量不是问题的话——
    虽然用了存储过程,但是对存储过程的调用依旧是一个普通的SQL,还是需要解析后再执行的。
    重复调用应该采用ADODB.Command对象,这样只解析一次,以后就直接更具参数进行执行。
      

  2.   

    找到问题原因,但还没有好的解决办法原因
    只要在rs记录集循环下面,不管用conn.execute执行存储过程还是执行conn.execute(sql语句)都会慢,每一操作要1秒左右,如果10次循环对应下面10次conn.execute操作就要用10秒左右目前解决办法
    每如一条conn.execute("update goods set goodsqty=goodaqty+1 where id=1")
    暂时用下面方法顶着for i=1 to rs.recordcount
    rs1.open ***,conn,1,3
    rs1("goodsqty")=rs1("goodsqty")+1
    rs1.update
    rs1.close
    next还有什么好的解决办法没
      

  3.   

    用 一条 sql可以实现 你上面的 update啊 
    update 表 set goodsqty=goodsqty+1