我用Delphi+sql server开发了一个管理系统,有三个以上用户同时访问时,速度极慢,程序甚至没有反应,有什么办法解决?请各位帮忙!!谢谢!

解决方案 »

  1.   

    delphi程序不好,流程不对,你可能在做的时候,对记录的处理是一条条提交的,不能这么干,应一批批提交.还有你的网络是几M的.
      

  2.   

    这种情况不好估计问题所在的。你需要查看一下服务端,看是不是SQL SERVER的连接用户数设置得太小了。
      

  3.   

    不要说连ado都没用,只用ttable和tquery控件
      

  4.   

    请问锁定在哪里设置,是哪个属性?
    我用ado了,ADOConnection里设置的连接串
      

  5.   

    好奇怪哦,我怎么没碰到过?是不是在server端没有颁发足够的授权?还是sql server设置的用户太少了?
      

  6.   

    请问 Cheney(切尼) :你说的数据模式是什么问题
      

  7.   

    尽量不要使用TTABLE。使用TQUERY时,尽量使用批量提交数据。
      

  8.   

    我使用了bde的连接方式,也有一部分用了ado
    我全部都用TQUERY,加sql语句做的,没用TTABLE
    我要说的是用户多了,程序没有响应,极慢
     liqxdt() ,你连接多少用户,什么思路
      

  9.   

    使用批量提交数据。
    设adoquery.locktype:=ltBatchOptimistic
    加个save 按钮,写aodquery.updatebatch      
    就ok
      

  10.   

    有没有用到时间过长的事务—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
    ┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  11.   

    我也遇到和dqlsb(长风破浪)一样的问题,Delphi6+Mssql2000,BDE连接,c/s结构,大量使用了Ttable和Tquery,开发过程中程序启动时就很慢,听了楼上兄台的一番提醒,看样子我也要大改程序了。哪位大虾,可否再具体些呢
      

  12.   

    更新只用adoconnection.execute
    不要用数据字段
      

  13.   

    先在数据库服务器上用SQL作查询看是否数据库设计有问题,再检查网络是否有问题(COPY大文件),最后再检查程序吧,因为我的程序也是用Delphi+MsSql7.0的C/S结构,30多个用户同时用也没问题.
      

  14.   

    我的数据库里只有10多个表,并不是很复杂,设计还能有什么问题, crownsoft(华智),你用什么连接的,数据库始终保持连接吗
      

  15.   

    不要把你的ADOtable的active属性都设为TRUE,!!!
    因为实际上它对应着select * from [table],这样,当数据库纪录到一定数量
    或客户端增加时,服务器的内存资源很快被耗光,于是就
      

  16.   

    尽量避免使用ADOTABLE TABLE等TABLE型控件
      

  17.   

    还是使用ADO方式吧
    也可能因为数据模式没有建立好的缘故吧!
    数据库要设计好
    在窗体调用数据模块的时候要合理使用!
      

  18.   

    我的启动的时候也很慢,慢的让人受不了,不过,不知道毛病出在哪里?我的
    窗体地create事件里都有这样的语句:
     Image2.Visible:=false;
          tempbmp:=TBitmap.Create;
          for i:=0 to self.ComponentCount-1 do
            begin
             PropInfo := GetPropInfo(Components[I].ClassInfo, 'Color');
             if (propinfo<>nil)  then
                 SetOrdProp(Components[I], PropInfo, rgb(236,233,216));
            end;
          flagmax   :=false;
          flagmin   :=false;
          flagclose :=false;
    不知道是不是这个原因
      

  19.   

    我有能力帮助你,请看我站http://www.to-happy.com的部分共享例子。可以把你的工程发给我吗?
      

  20.   

    to  My_first(海浪):
    有没有简单得不费时的方法实现我那样的功能?