中间层这样有四个控件:TADOConnection,TADODataSet,TADOStoreProc,TDataSetPrivoder,我在中间层上定义属性,方法,其中有两个方法,一个是GetCount,用TADODataSet取得表的记录数,另一个是ExeProc,用TADOStordProc执行存储过程,这两个方法在客户端用TDCOMConnection的AppServer调用,都可以调用成功,所以我觉得做三层系统时中间层只需要一个TDataSetPrivoder就行了,因为我的TADOStoreProc与TDataSetPrivoder控件在中间层定义接口时根本没有联系上,那么我现在又要定义一个GetRecord的方法,那么要如何才能让客户端可以取到返回的记录集呢?
如下代码,请指点:
function GetRecord:OleVariant;
begin
adoDataSet.commandText := 'Select Top 10 * From DataList';
adoDataSet.Open;
Result := //这里要如何写才能让客户端的TClientDataSet.Data得到值?
//因为我要在客户端用TDCOMConnect.AppServer.GetRecord来调用
end;
如下代码,请指点:
function GetRecord:OleVariant;
begin
adoDataSet.commandText := 'Select Top 10 * From DataList';
adoDataSet.Open;
Result := //这里要如何写才能让客户端的TClientDataSet.Data得到值?
//因为我要在客户端用TDCOMConnect.AppServer.GetRecord来调用
end;
解决方案 »
- 能否将CXgrid中的单元格内的文字区分不同的颜色
- 两个算法题.
- dcomserver意外关闭后,服务器端重起后,客户端只有关闭后再打开才能与服务器重新连接吗?
- 如何实现将窗体的所有EDID和DBEDIT框,用双击选中所有文本,不是只选单词?
- Delphi问题还是ADO与ole驱动问题,请大家跟进
- 怪事:在dbgrid输入20.2 却变成了20.199(数据库为sql2000,数据类型为numeric(10,3)
- 要把值传给ASP网页?在线等
- 如何在DELPHI中调用FLASH图片。谢谢!有帮助的给分!
- 给我意见,助我抉择(应就送分)(在Delphi,Java,人才热线开了3个帖子求助)
- 我有一个数据库是PARADOX的,存储的一个TD字段,是TIMESTAMP类型!怎样根据数据库的这个字段为图片命名!
- 怎样才能把图片以二进制形式插入到ACCESS中
- 有空的高手近来看看这样一道算法题?谢谢
我咋觉得大家好像都没有用MIDAS写三层系统一样,还是CSDN现在没有高手了?或者要写就一定是客户端的TClientDataSet传SQL语句返回的记录集!这个似乎有违OOP的概念啊!
客户端:ClientDataSet1.Data:=Appserver.getrecorder;
var
iOut:integer;
begin
with adoquery1 do
begin
sql.Clear;
sql.Add('select * from authors');
open;
DataSetProvider1.DataSet :=adoquery1;
Result:=DataSetProvider1.GetRecords(-1,iOut,MetaDataOption);
end;
end
procedure TForm1.Button3Click(Sender: TObject);
begin
cds.Data :=DCOMConnection1.AppServer.GetData;
end;
txmaster的Getdatas方法.