要做一个网上的订货系统。输入的数据会比较多,最多的可能会有一两千行,每行会有15个左右的数据。如果用datagrid或者就用table来每增一行就提交一次数据库那么往反的数据会很多,到几百行的时候就很慢了(以前做过一个在局域网上的就这样,如果在互联网上我就不敢想了)。当然可以让客户分几次来提交,不过我希望最好还是能想到解决办法。我有一个思路,但有些问题没有解决:
我在客户新增时不提交到数据库,而只是在web页上用insertAdjacentHTML新增一行。在最后保存时提交到服务器,把数据保存到一个新DataSet,再用DataAdapter提交。不知道这个方案可行不?如果可行,那么在服务器上如何取datagrid或table中的数据呢?用循环吗?会不会也很慢?大家可否说说自己是怎么做的。因为这是做web应用的现实问题,我想都会遇到。

解决方案 »

  1.   

    如果用datagrid或者就用table来每增一行就提交一次数据库那么往反的数据会很多,到几百行的时候就很慢了(以前做过一个在局域网上的就这样,如果在互联网上我就不敢想了)。当然可以让客户分几次来提交,不过我希望最好还是能想到解决办法。首先这个问题不是不可克服的,几百行就很慢绝对是你自己的程序问题,我尝试过这样的操作方式,在100人同时操作,20000条数据的时候依然流畅。
    主要问题在于你的数据连接的就近开关,和千万不要用Datagrid自己的分页。(否则加载数据都加载死了。)我有一个思路,但有些问题没有解决。你这么做的话需要非常注意的一个问题是多人并发操作造成的错误,这是很严峻的。你担心的那个问题反不是大问题。
      

  2.   

    可以分页或者用DataList或Repeater来帮定数据速度会快些
      

  3.   

    我有一个思路,但有些问题没有解决:
    我在客户新增时不提交到数据库,而只是在web页上用insertAdjacentHTML新增一行。在最后保存时提交到服务器,把数据保存到一个新DataSet,再用DataAdapter提交。这样的方法不好,与其这么做,还不如根据登陆用户的身份(可用SESSION变量),为他单独在服务器上建立一个XML文档,根据他的要求先读写这个文档,最后在将它更新到数据库中并将他删除,这样比你只在页面上做标记要安全的多。
      

  4.   

    用web service单行保存一会有刷新的!
      

  5.   

    以前做过,现在手头找不到我以前做过的程序!
    Sorry!
      

  6.   

    用web service单行保存一会有刷新的!
    ==============
    用web service单行保存不会有刷新的!
      

  7.   

    用分页倒是不错的思路,只是我没有想到。应该可以这样做,再瞧瞧看看还能冒出更好的法子不!
    BillTuan() 用web service单行保存不会有刷新吗?这到没有试过,帮忙找个例子看看。
      

  8.   

    to :syeerzy(快乐永远)
    数据连接的就近开关是什么意思,可以解释一下吗?
      

  9.   

    不了解你做东西的情况!但是,我想说是:如果给个固定格式的excel给他们,然后你就读excel岂不是更好!当然这样也有些局限性!