在使用Delphi开发数据库的过程中,对于数据库中基本表的操作可以有以下两种方法:
  方法(一):在程序中通过数据集控件操作;
  方法(二):执行相应的SQL语句达到目的。
  比如说:要把A表中的字段aa的值赋给B表的字段bb。
  方法(一):adotable2.filedbyname('bb').asstring:=adotable1.filedbyname('aa').asstring;可以实现。
  方法(二):adoquery1.sql.text='insert into B(bb) select aa from A where …… ';执行SQL语句也可以实现。
  在这里就有了一个问题,从程序设计最优化的角度来看,这两种方法那一种方法更好,能更快的完成程序?
  我的个人的理解是这样的。因为所开发的程序是基于C\S结构的。既然是这样,可不可以这样认为:方法(一)是在程序中实现的,也就是C端运行的。而方法(二)是执行SQL语句实现的,应该是在S端运行的。那如果照这种理解,是不是就可以判断为使用方法(一)应该更好呢?因为,这里可以假设有多个C端而且同时访问服务器,从整个C\S体系来看,执行SQL语句实现的方法必然增加了服务器的负担,而第二中正好是相反的。因此我认为,在程序设计中应该尽可能的在程序设计中解决对数据库的操做问题,也就是采用方法(一)。
   请各位给点高见~

解决方案 »

  1.   

    用SQL语句还是比较好一点的,
    不过因具体情况而定了
      

  2.   

    SQL是处理数据库的最佳的方法!速度快,质量高!
      

  3.   

    方法一最后也是要转换成SQL提交的 所以效率上方法2应该更高点 
    但是除非是很复杂的SQL   要不也就能快几个时钟周期吧
    但是方法一还有个优点
    如果你写的字段名有错的 或许赋的值类型有匹配 他可以很明白的提示你是哪个字段错了 
    如过方法2上SQL写错了 不得还要自己慢慢查 如果很长 那也是很累人滴
    所以偶一直是用方法1
      

  4.   

    直接使用SQL语句效率可能会高一些,这也看具体情况了