导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2004/3/25 9:56:34
标题:
加入我的收藏
楼主:
1.若业务层用一个ADOdataset,前台传一个SQL语句,在业务层如何用这个SQL查找数据库,并把数据返回 2.若业务层用一个ADOsaveprocedure,前台传一个存储过程的名字和参数名以及参数的设置,在业务层如何使用,并把数据返回
----------------------------------------------
-
作者:
2004/3/25 10:48:49
1楼:
服务端放TADOConnection,TADOQUERY,TDatasetProvider,TAdoStoredproc组件 客户端放TCliectDataSet,有表格的话可以放Tdatasource 你的想法,可以将SQL带入Tclientdataset的commandtext,再open它,表格可以通过数据源返回数据,也可以用循环将数据一一取出(服务端中的Provider要将option中打开poAllowCommandtext为TRUE) 存储过程是一样的道理,服务端放一个TAdoStoredproc,定位好存储过程,客户端(业务端)同样是Tclientdataset,然后例如下 with dm.store do begin Close; With Params do begin //Refresh; ParamByName(''@typeid'').Value := typeid; ParamByName(''@content'').Value := content; end; Execute; end; 传参就可以了,SELECT的话就找找返回数据集吧,其他操作如INSERT应该没大问题 不过。。。delphi的BUG,中文会被截断,见贴 http://www.csdn.net/Develop/article/18%5C18720.shtm 我按着方法修改ADODB单元,做但不成功,只好放弃存储过程,使用commandtext传sql了 =.=
----------------------------------------------
巧克力PIKA
作者:
leo (leo)
★☆☆☆☆
-
盒子活跃会员
2004/3/25 11:11:38
1楼:
业务层的操作你不必自己处理,只要设置好 clientdataset 同 datasetprovider的连接,及datasetprovider的属性即可. 不要为了三层而三层,要看你项目的具体规模、要求。
----------------------------------------------