我打算在中间层写一个函数,function TSERVER18.opentable(const vtblname: WideString): OleVariant;希望传入表名,返回整个表。如果我在query控件中写入'select * from '+vtblname;那么怎样把结果赋给result呢?请高手指教。

解决方案 »

  1.   

    如果用bace1的方法,在中间层和客户端都要逐条的读记录,我希望客户段调用的时候能直接把函数返回值给data,如clientdataset1.data:=......opentable(vtblname);
    请指教。
      

  2.   

    不太明白你为什么要用函数结果返回数据集,在分布式多层中操作数据集通常的方法是这样:
    应用服务层(中间层)——利用数据集控件生成数据集,比如tquery,利用Data Access(数据访问)的DataSetProvider做联接
    客户端(表现层)——通过客户端数据集(ClientDataSet)连接DataSetProvider调用相应数据集。
    请问你应用的情况是什么样的,为什么用这种简单的方法解决不了?