请问TClientDataSet控件数据源在哪里设置??和TTable控件相比,TTable控件数据来源在DatabaseName属性设置,表在TableName属性设置。如何对应TClientDataSet控件呢??详细些,Thanks!

解决方案 »

  1.   

    data属性直接接受数据;
    或者使用providername从 tdatasetprovider那得到数据;
    TClientDataSet是个数据记录管理的最端控件。
    修改的数据、新增的数据、删除的数据、等都要通过TDataSetProvider来向上提交;
      

  2.   

    ClientDataSet1.ProviderNameor設計時, mouse 右鍵, 菜單中有個 Load from mybase
      

  3.   

    可以直接指定TClientDataSet的文件名就可以了
      

  4.   

    TClientDataSet還可直接連XML文件、animals.xml是DEMO。ClientDataSet1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\DbClx\mybasexplorer\animals.xml';
      

  5.   

    TClientDataSet可用于一层,二层和三层,一层就是保存文件,有时候也有运用。三层不说。
    而两层的实质是在数据集之间加了一个中间层,就是数据集提供者。你看它的名字TDataSetProvider,说明其既和TDataSet打交道,又身兼提供者的重担。
    当数据集组件连接数据库后,它不是直接和TDataSource组件相连,而是连接TDataSetProvider。那么作为与TDataSource组件相连的TClientDataSet就必须得到数据,从哪儿来?就从TDataSetProvider来。
    你可能问,为什么这样做?为了实现数据缓冲,或者从表面上讲,为了实现多条记录一并更新,否则,你每次都操作在数据集上,而数据集又每次都把结果反映到数据库里,这样怎么实现缓冲的数据集的好处呢?
    在设计时,你可以这样使用TClientDataSet:
    ...
    DataSetProvider1.dataset := query1;
    ClientDataSet1.ProviderName:= DataSetProvider1;
    ...
    最后一个图:
    TDataGrid-->TDataSource-->TClientDataSet-->TDataSetProvider-->TDataSet(-->可能还有数据连接组件)
      

  6.   

    这样的表格应该怎么做呢?用STRINGGRID:
    <TABLE BORDER=1>
    <TR> <TD>课程\分数</td> 
          <td colspan=3><=60分</td>
          <td colspan=3>61--80分</td> 
          <td colspan=3>81-100分</td></tr>
    <tr><td> 数学</td>
          <td>张身</td> <td>LUCY CHAN</TD><TD>DEON LI</TD>
          <td>李问></td><td>林聪</td>     <td>陈真</td>
          <td>余相></td><td>包进</td>     <td>陈华</td></tr>
    </table>