clientdataset的commandtext可以执行存储过程吗? 为什么我写进去了,却一点反应也没有? 请各位帮帮忙!

解决方案 »

  1.   

    可以,设置commandType 为 存储过程 ,commandtest 为存储过各名即可
      

  2.   

    dataset.commandtext:='exec 存储过程名,参数1=''a'',参数2=''b'''
    dataset.execute
    其中参数1和参数2是存储过程中定义的参数。
      

  3.   

    上面写错了,应该:
    dataset.commandtext:='exec 存储过程名,参数1=''a'',参数2=''b'''
    try
    dataset.open;
    except
    end;
    其中参数1和参数2是存储过程中定义的参数。运行时可能会报错,如果执行.exe文件就没有问题了。如果要设置可以在属性列表中的commandtype设置;
      

  4.   

    to TOMWLD(笑天):这样做怎么说应用服务器就没有存在的必要呢?所有的数据操作依然是在应用服务器上执行的。
      

  5.   

    我的怎么显示出错:adostoredproc1: CommandText does not return a result set.
    但其实存储过程已经执行,而且在sql server里面运行是正常的。我的存储过程没有参数的。
      

  6.   

    存储过程有数据集返回,可以用clientDataSet1.open或clientDataSet1.execSQL;没有则只能用clientDataSet1.execSQL
      

  7.   

    lzf1010(深宇) :这样你的客户层直接和数据库交互,了解数据库的细节,中间层根本控制不了业务逻辑,应用程序服务器也就失去了它的意义
      

  8.   

    直接写sql本身不是客户程序提倡的,但有些时候这种灵活性还是可以利用的
    通常临时的select****我觉得还是直接写比较方便。但总体主线还是用服务器
    上的逻辑进行控制。commamdtext建议在需要一些临时数据时使用
      

  9.   

    如果要通过CommandText,则需要在App Server中,将TDataSetProvider的Options属性中包括poAllowCommandText
      

  10.   

    那请问对oracle数据库也可以使用这种方法吗?好象不行吧!