是这样的,在delph7中的demo例子:ado\shape
中有两张表:customer及order,分别用dbgird1及dbgrid2把它们
显示出来,它们之间通过custNo关联。在adodataset1中的CommandText有这样的SQL语句:SHAPE  {select * from customer} 
APPEND ({select * from orders} AS Orders
   RELATE CustNo TO CustNo) 我看不懂,各位能给我解释一下吗?因为我好象没有用过这样的SQL语句。
另外,
在adodataset2中的CommandTex却没有任何命令语句。为啥?

解决方案 »

  1.   

    这是Shape 语言:
    用于嵌套的数据集。
    该语句是从customer 表中选择所有数据做为父集,
    从orders中选择所有的数据作为子集,该子集中是集的中一列,列名是Orders,
    这样父集中每一条记录中的orders字段包括的内容为与其CustNo字段同值的orders表中的数据集
      

  2.   

    在adodataset2中的CommandTex却没有任何命令语句。为啥?因为adodataset2.datasetField:=CustomersOrders
    也就是它的数据就是adodataset1中orders字段的内容即前述的数据集相当于(select * from orders o,customes c where O.custno=c.cusno)
      

  3.   

    yesxwl()牛!
    --------------
    爱如火,紫如情!
    --------------
      

  4.   

    yesxwl() :你好!
    shape语言属于SQL语言吗?还是adodataset的方法。我搞不明白。
    好象在SQL中无非只有:select,insert,upate,delete等。
      

  5.   

    shape不是标准的sql语言,是微软为支持从Ole DB 数据源得到嵌套数据集而开发的。通过Data Shaping service实现这一功能 .也就是只要Microsoft® Data Shaping Service for OLE DB就可以实现这功能,支持OLE DB 数据源.
      

  6.   

    yesxwl() :你好!
    那么,要学习这个东东,要看什么书或资料,有这样的学习资料吗?100分等一下给你!
      

  7.   

    shape不是标准的sql语言,你可以用标准的SQL语句写!!
      

  8.   

    找一下Sql server2000的书看看. sqlserver自带的帮助也有介绍,只不过这部分介绍是英文