现在开始学delphi不久,同时也在进行SQL server 的学习,可是到现在对C/S还不是很明白,比如说对数据的处理,那些部分应该在Delphi里完成,那些在Sql中完成,是在前台用代码控制,还是在后台用储存过程和触发器管理.希望大家能给些指点,多多赐教啊,不胜感激!!!

解决方案 »

  1.   

    我也学了没多久,大家讨论一下吧。
       应该把数据量大的东西放在后台,因为后台服务器的处理能力,和速度一般都会明显高于客户端机器的速度,把大量的重复性的高和计算密集的工作移到服务器上。
       关于存储过程,可以把一些select语句比较多的代码编为存储过程放在服务器上,这样可以减轻网络传送大量代码的负担,还有delphi里select语句都是最基础的标准的,而是用存储过程可以使用sql2000所有的功能包括一些特有功能。使用存储过程也可以减少程序长度,可能能减少编译时间(我想是)。
       还有就是尽量少使用delphi自带的查找函数如locate ,lookup等,其速度非常慢,无法和select语句相比。
      

  2.   

    楼上的基本差不多了,,访问数据库较多的, 计算量较大的,能放在DB里就尽量放DB里吧
      

  3.   

    我也是新手,一点理解,不对的地方请诸位指正:SQL server的作用简单说就是建立数据库(表单集合),和桌面数据库一样.而服务器端和客户端应用程序用DELPHI来做,负责对数据库各表的各种操作.C/S不同于桌面数据库的地方就在于应用程序调用数据库的方式发生了改变.
      

  4.   

    还是尽量往数据库里放SQL和逻辑,C/S模型有太多的不足了。
    msn:[email protected]
      

  5.   

    偶做过一个b/s模式的项目,要求比c/s更苛刻.
    感觉只有一条准则--尽可能减少网络流量,客户端和服务器尽可能少的进行通讯.
      

  6.   

    本人是在是不敢苟同楼上hewei2003() 的观点"C/S模型有太多的不足了"
    C/S模型拥有着太多的优点无论是安全性还是处理能力都有相当的优势。
    只能说它不具备网际访问能力,安装、升级比较麻烦。
    b/s模式在上述情况做的较好,但是却损失了处理速度、处理能力,同时在安全性上要增加很多的考虑。
    每项技术都有它的两面性,不能一言蔽之。
      

  7.   

    我觉得应该尽可能的放到后台去,这样安全性也比较高,比如就用户登录来说,比较最好在数据库那头来处理,那样在客户端就无法查看到了。而去服务器一般都是比客户机的处理速度要高的多。我现在也在给学校做一个教务科研的排课系统,要求是基于c/s和b/s的。请高手给我指点一下排课的原理,谢谢了,不胜感激!
      

  8.   

    我也是同样的问题啊,你们谁有QQ的,我们QQ里面联系,这里太慢了
      

  9.   

    搞两本书看看!!我对C\S、B\S也不太了解。
      

  10.   

    to: qiongfei(茕菲)
    如果你要排的学校是中小学(每班对应一个教室)则可以用程序实现
    如果是大学(教室不固定),就目前的软硬件水平该系统不可能完全用程序实现,
    只能做到半自动化,需要有较多的人工干预另外C\S、B\S是两个  完全不同  的概念只能是基于哪一种模式
    至于基于两种模式的
    呵呵
    至少目前我没有见到过。
      

  11.   

    放在后台太多,程序移植性不好,多用SQL
      

  12.   

    操作的频繁程度不应该作为是否该将该操作放到服务器上的标准。
    如果过程很简单不一定要将它放到服务器上。
    要相信目前的硬件环境,客户端也能很高效地处理数据,关键在于如何降低网络流量,减少客户端与服务器间的频繁的交互,尤其是b/s模式,网络永远是它的瓶颈。最近看了一下.net,它的就有个特性,能以断开连接的方式工作。先做连接,检索数据后断开,在客户机上处理数据,之后重新连接服务器,传回数据。
    客户机分担了服务器的部分工作,断开的方式也减轻了服务器的压力,这样服务器可以支持尽可能多的客户机的访问。一个操作是否要放到服务器上处理,需要考虑处理难度、访问量等多方面的因素,这就需要选取适当的方式。大致都是折中,必要的时候还是需要主动放弃部分性能。
      

  13.   

    To:  lufancy(聆雨)
     "要相信目前的硬件环境,客户端也能很高效地处理数据,关键在于如何降低网络流量,减少客户端与服务器间的频繁的交互,尤其是b/s模式,网络永远是它的瓶颈。"
    我很赞成这种看法,但在开发MIS时,从什么角度来考虑到底选用那种模式结构?
    QQ:4341006
      

  14.   

    开发模式不是由开发者来定的
    开发者只能遵照用户的需求c/s模式的处理能力和速度是b/s所达不到的,但是在软件升级、维护方面由先天的缺陷。
    b/s模式升级、维护、使用都很方便,但处理速度,和功能相对弱是它的缺憾。
    不过随计算机硬件和网络技术的发展b/s将是主流。
      

  15.   

    实际上有很多算法非常复杂的查询放在数据库里的存贮过程中做是不可能的,这些查询必须在DELPHI中用灵活、动态的语句完成
      

  16.   

    yuntian1(云天) 兄说D自带的Locate和Lookup函数比select要慢很多,请教:依据是什么?
      

  17.   

    yuntian1(云天) 兄说D自带的Locate和Lookup函数比select要慢很多,请教:依据是什么?依据就是Locate和Lookup函数会把Server的数据下载到Client,然后在client中进行Locate和Lookup,而Select在server中选取数据,然后再把找到的数据集返回给client让程序处理