还是毕业设计的问题,Delphi中ADO数据库组件的TParameter&TParameters的问题,看了一些书上很少讲ADOQuery组件参数的赋值问题所以在这里提一下,希望对一些人有帮助
2007-05-30 16:46
771 查看
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into checked_feeder'+
' values(:position ,:f_barcode,:r_barcode,:op_num,:tm)');
adoquery2.Parameters[0].Value:=count_position ;
adoquery2.Parameters[1].Value:=trim(f_edit.text);
adoquery2.Parameters[2].Value:=trim(r_edit.Text);
adoquery2.Parameters[3].Value:=trim(num);
adoquery2.Parameters[4].Value:=datetimetostr(now);
adoquery2.ExecSQL;
Delphi中ADOQuery的Parameters属性BDE的Params属性比较介绍:
1. Params的类型是Tparams而ADO的Parameters属性是TParameters这两个类型表面上没有什么区别,但是其内部机制却迥异。
2.TParams的继承结构试图如图1-15(1),而TParameter的集成结构视图如图1-15(2). TParameters和T
4000
Params类视图
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
(1) (2)
图1-15
这是由于TParameter是动态链接到数据源的他对自己将要得到的数据类型是不知道的,他可能来自于一个电子表格,也可能来自于一个规范的数据库。因此TParameter仅提供了通过Value属性和Assign()方法。而TParam类提供了AsString,ASDouble,AsInt等简单方便的赋值方法。TParam同样提供了Value的赋值方法但是他的Value是Variant类型,而TParameter是OLEVariant类型。由此可以看出TADO××更注重动态分布式的适应性这也是TADO××和TBDE××的最核心的区别。
以上就是TParameter(s)和TParam(s)大概的区别。
相关文章推荐
- 作为一个老师,我也把我回答的一些问题在这里共享一下,希望有所帮助
- 作为一个老师,我也把我回答的一些问题在这里共享一下,希望有所帮助
- VC 使用过程中所遇到的一些问题,汇总在这里,希望对后来者有些许帮助
- Parameter 'phone' not found. Available parameters are [0, 1, param1, param2]关于mybatis多个参数问题
- delphi学习笔记--ADO数据库连接组件TADOConnect
- Delphi使用ADO连接网络数据库,断网后重连问题
- 由于要开发新的项目,node.js写下一些问题帮助自己记忆,也希望能帮助到别人
- 希望在这里能找到一些好朋友,一起讨论技术来提高自己水平,感谢每一个给自己帮助的朋友,谢谢你们!
- delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数
- 黄聪:Delphi数据库处理组件BDE、ADO、InterBase和dbExpress详细说明
- 解决Delphi的Indy10组件包TIdHttpServer控件解码HTTP请求时参数乱码的问题
- 谈谈新手接触ADO.NET数据库的一些问题
- vs2015运行c++出现的小问题及解决方案(希望能帮助一些和我一样的新手)
- 关系数据库的查询优化策略----总结了一些查询优化的方法,希望可以对大家有所帮助
- .net 调用Oracle.Data.Access 组件提供的用于批量操作的方法—获取数据库表结构方法和跟参数赋值方法
- 来谈一下我在使用fo-dicom开源库时遇到的一些问题,这篇主要就是针对从RIS那获取worklist的,希望能帮助那些刚接触这个开源库的。
- delphi 中 adoquery 带参数查询的奇怪问题
- Delphi数据库处理组件BDE、ADO、InterBase和dbExpress详细说明
- 数据库批量操作中SqlParameter参数传递的问题
- ADO.NET Entity framework 中 实体的对应数据库中text类型的问题 (更新) :asp.net entity 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 3 ("@0"): 数据类型 0