应将SQL语句放在TClientDataSet还是放在TSQLDataSet?

解决方案 »

  1.   

    为什么要同时用两个数据集,与TDataSetProvider配合的是TClientDataSet
      

  2.   

    TDataSetProvider、TClientDataSet和TSQLDataSet的搭配使用,一般都出现在多层应用结构中,当然在单层程序中也可以用,除非是为了今后转为多层方便,否则没必要这样做。所以,SQL语句一般都是放在TSQLDataSet中,TClientDataSet只是用来存放结果集。但SQL语句也可以放在TClientDataSet中,通过Open将SQL语句送给TSQLDataSet,TClientDataSet再接收和存放返回的结果集。
      

  3.   

    TDataSetProvider配合的是TClientDataSet,TClientDataSet提供了连接哪个Provider的属性
    TSQLDataSet用于dbExpress的
      

  4.   

    DataSnap是三个控件搭配使用。如果将SQL语句放在TClientDataSet中,TSQLDataSet中该放什么?
      

  5.   


    若将SQL语句放在TClientDataSet中,TSQLDataSet中什么都不放。TSQLDataSet是dbx驱动访问数据库返回结果集的临时存放地方,它随即会把结果集再传给TClientDataSet。这个问题不复杂啊,简单地拖几个控件,做个demo就明白啦。
      

  6.   

    共同一個數據集就可以了多動手做幾個demo就明白了
      

  7.   

    想要搞清楚楼主现在或将来是否为了做三层架构,如果是那么SQL语句就不应该出现在TClientDataSet里面,因为这样违背了客户端要把业务逻辑分离出来的原则。如果不是或者用到TClientDataSet和SQL语句的那段代码本来就是业务逻辑层那么出现在TClientDataSet也没问题,可能更方便。这时候TSQLDataSet就看成是后台的驱动程序,不写语句。