c/s模式,server是win2000+sqlserver
client是w98,距离也就20米八,在不同的屋子里client的录入模块,用了不少dbedit之类的,每个dbedit的exit事件一样:求所有dbedit对应的永久字段的值得和录入后append,直接post到数据库,马上又append但是客户说,录入1000条数据一天,录入越来越慢,后来,在dbedit出来后,等号长时间各位看看什么原因?

解决方案 »

  1.   

    你用的DBEdit,数据库一直连接和打开;
    数据库打开用了Filter了吗?如果没有用,则必然很慢!
      

  2.   

    不如用SQL语句直接写入数据库
      

  3.   

    你求和用的是什么算法,如果是用SQL语句(select sum(f1) from....),我想不会是这个影响速度,如果你是用其他的方法,问题就极有可能出在这里了。当然,数据多了,网络传输的数据量越来越大,每次Open的时候,都要从服务器下载整张表到本地,所以速度就慢了。不要随便关闭和打开数据集,因为重新打开一次就要重新下载一次数据。或者有选择的打开前100条记录什么的。如果是在打开数据表的时候比较慢,我想可能是这个原因吧。
      

  4.   

    最好把你DBEdit的OnExit事件代码贴出来。
      

  5.   

    不如用SQL语句直接写入数据库
      

  6.   

    你应该使用存储过程!!!去网上看看,搜索一下,看看c/s程序是如何写的,怎么可以使用dbedit之类的控件??!!直接使用edit之类的控件,录完数据后传递到服务器,然后使用存储过程写入数据库!!!------------------------------------------------
      

  7.   

    我现在知道原因了,我每次保存后都关闭打开了,不像以前那样输入700条后慢了
    由于服务器不远 ,就两个客户端所以我没有用缓存我没用存储过程,因为每个字段值改变我都在他的onchange里把所有字段求和了,
    时间特别近,没有规划的现在两个客户端,一个快,一个还是有些慢,就是录入一个数值后,回车,感觉等一下才能
    跳到下一个筐,另一台机子没问题啊,这是什么原因?
      

  8.   

    看看网线,和接口,应该是网络的原因!ping一下服务器
    ping xxx.xxx.xxx.xxx -l 3000 -t 看看两台电脑延时情况,可以再大一点,ping一下如果还有问题,请留言!