3.TParameters是专为TADO**对象建立的,所以它没有提供Create()构造函数只是提供了在现有的TCollection对象中新增加一个TParameter元素的CreateParameter函数(其实TParameter 也没有提供Create函数这个方法也只是将一个已经存在的OLEVariant加入到参数列表中来)。TParameter的创建是由TADO**对象负责的对用户是不公开的应为有些TADO**对象既封装了ADO中的Commmand对象又封装了RecordSet对象,而这些对象在使用过程中都不可避免的要用到参数,所以让用户负责参数的创建和管理是不明智的。
4.同样TParameter和TParam也是不同的。虽然它们的继承结构是完全一样,方法和属性也大致相同的但是在提供的赋值方法上TParam比起TParameter要少的多。
Tobject
|
TPersistent
|
TCollection
|
TParameters
|
TOwnedCollection
|
TPersistent
|
TCollection
|
TParams
|
Tobject
|
这是由于TParameter是动态链接到数据源的他对自己将要得到的数据类型是不知道的,他可能来自于一个电子表格,也可能来自于一个规范的数据库。因此TParameter仅提供了通过Value属性和Assign()方法。而TParam类提供了AsString,ASDouble,AsInt等简单方便的赋值方法。TParam同样提供了Value的赋值方法但是他的Value是Variant类型,而TParameter是OLEVariant类型。由此可以看出TADO××更注重动态分布式的适应性这也是TADO××和TBDE××的最核心的区别。