set rs=server.CreateObject("adodb.recordset")
rs.Open "select shopname from shop",conn,1,3
rs.AddNew
rs("shopname")=trim(shopname) '商品名称
......
rs.Update
rs.Close
set rs=nothing
response.Write "<script language=javascript>alert('添加成功!');window.location.href='add.asp';/script>"
response.End
这样添加一条数据没问题,但是shop表有很多字段需要添加数据,有80个左右.添加的时候内存猛增,无响应了几分钟才提示添加成功.是什么原因呢..

解决方案 »

  1.   

    建议:不要用 recordset 的 update 方法来添加数据,感觉这是效率最差的方法.从数据库获得记录集,锁住,然后在客户端更新,再上传记录集到服务器,在数据库中对记录集一条条核对再加以更新,不好.
    反正你是知道数据表有多少字段的,在页面上设置适当的 input,直接将数据 post上去,传到一个存储过程中,由存储过程添加信息,这应该是最简洁最有效的方法.
      

  2.   

    一次性提交一个多个insert的语句的sql
      

  3.   

    怎么现在还有人这么写?
    rs.Open "select shopname from shop",conn,1,3
      

  4.   

    直接调用sql的insert,不要用ado试试
      

  5.   

    为什么不用insert?为什么要用ado的addnew?
    如果你要一下子插入多条,可以把很多个insert写在一个sql语句里。然后一次执行,速度很快哦。
      

  6.   

     因为是在打开的结果集中实现更新,指针经常更新移动!并且一直占有资源!
    建议使用insert语句,或者使用存储过程来完成!