在客户端能调用存储过程吗,还是必须在应用层定义接口方法,在方法中调用?

解决方案 »

  1.   

    with clientdataset.appserver do
    starttrans;
    try
    ...
    commit;
    except
    rollback;
    end;//try
    end;//with至于存储过程嘛,好象采用ADO控件组里的存储过程控件设置其连接即可
      

  2.   

    存储过程解决了,事务却还悬着.我定义的接口方法如下.请各位帮忙看看,为什么不能更新回数据库?
    procedure Txsm100.turnmoney(var name1, name2, money: OleVariant);
    begin
        with ADOConnection2 do
          begin
           try
           begintrans;
            with ADOQuery1 do
              begin
                close;
                sql.clear;
    sql.add('updata xsm2 set money=money-'+money+' where name like %'+name1+'%');
                active:=true;
                close;
                sql.Clear;
    sql.add('updata xsm2 set money=money+'+money+' where name like %'+name2+'%');
                active:=true;
              end;
                showmessage('事务执行成功!');
                committrans;
           except
             rollbacktrans;
             showmessage('事务执行失败!');
             exit;
           end;
          end;
    end;
    其中xsm2(name,money),是表.