返回的是什么值?
OleVariant可以直接向ClientDataSet.Data赋值。

解决方案 »

  1.   

    如果返回的是记录集,使用一个datasource,其dataset设为adostoredproc1,然后将dbgrid1的datasource设为datasource1就ok了.
      

  2.   

    呵呵,我自己弄明白了,主要是当存储过程是SELECT 时,该用OPEN来执行,可如果不是SELECT时,而是INSERT,DELETE 等时,我怎么处理呢,用EXECSQL不能让结果集在dbgrid中显示阿。
    谁答对了,马上加分!
      

  3.   

    您自己都说的很明白了,存储过程中使用insert,delete等命令时是没有返回结果的.所以使用execsql是无法得到结果的.
    如果需要使用存储过程得到数据,而且要对数据集进行操作的话,在存储过程中使用select得到数据,open之后使用storedprocedure.delete,storedprocedure.insert 等方法来对已取得的数据进行操作.