DataSet 对象与DataSetCommand 对象 |
作者:佚名 发布时间:2005-04-02 来源:不详
|
DataSet 对象与DataSetCommand 对象合作的基本原理 DataSet 对象可以让我们群组以其管理DataTable 对象,我们可以把它看成是暂时存放资料的地方,它本身并不具备和数据源联机以及操作数据源的能力。如果想要将数据源的数据取回并存放在DataSet 里面的DataTable 中,要透过数据操作组件才办的到。数据操作组件(ManagedProvider)就是Connection、Command、DataSetCommand 以及DataReader 对象,其中DataSet对象和DataSetCommand 对象的关系最密切,因为DataSetCommand 对象是帮助DataSet 对象和数据源沟通的桥梁;我们透过DataSetCommand 对象来取得数据源的数据时,它会帮我们先依照数据在数据源中的架构产生一个DataTable 对象,然后将数据源中的数据取回后填入DataRow 对象,再将DataRow 对象填加入DataTable 的Rows 集合,直到数据源中的数据取完为止。DataSetCommand 对象将数据源中的数据取出,并将这些数据都填入自己所产生的DataTable 对象后,立即将这个DataTable 对象加入DataSet 对象的DataTables 集合,并结束和数据源的联机。DataSetCommand 对象的执行流程如下图所示:
我们来详细了解数据操作组件的实际动作:首先由Connection 建立和数据源的联机,然后由DataSetCommand 对象透过Command 对象下达将数据取回的命令。这些命令透过Connection对象送至数据源后,数据源会将我们所要取得的数据透过Connection 对象传回给DataSetCommand,DataSetCommand 将这些数据填入自己产生的DataTable 对象。全部的数据取回后,再把这个由DataSetCommand 对象所产生的DataTable 对象,加入DataSet 中的DataTables 集合对象来统一管理。DataSet 对象从到尾都没有主动和数据源有任何互动,这些命令的下达以及数据的传递都是透过数据操作组件而完成的;如下图所示:
|
|
|
|
|