多谢啦!

解决方案 »

  1.   

    adostoredproc
    或者
     
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('exec your_proce_name(your parameter) ');
    adoquery1.open; ( or adoquery1.execsql);
    等类似的方法.
      

  2.   

    不知你具体意思是什么?是不要保存在数据库里吗?不会吧?不行吧
    建立存储过程一般有两种方法。
    一、直接在服务器上建立
    二、在客户端用ADOQuery(Query)组件建立。
    举个例子
    with ADOQuery1 do
    begin
      close;
      sql.add('CREATE PROCEDURE 存储过程名 As');
      sql.add('Select * from 表名');
      ExecSql;  //此处不能用Open
    end;
    当执行后就会在数据库中建立一个存储过程名
      

  3.   

    TADOStoredProc,用它连接;如果数据库里不能定,就用楼上两位兄台的办法
      

  4.   

    二中都可以的,ADOQuery可以有数据定义语句出现!
      

  5.   

    谢谢各位的捧场!
    但是如果我用query组件
    格式:with query1 do
          begin
          close;
          sql.add('create......')
          ....
    如果这个过程带有输入参数、输出参数,该如何处理呢?
    多谢!
      

  6.   

    就是说sql_plus中用的:execute procedure_name(...)如何调用?
      

  7.   

    with query1 do
         begin
         close;
         sql.clear;
         sql.add('execute proc_name(:var_name)');
         parambyname('var_name').asstring:='abc';
         prepare;
         execsql;
         end;
    这样写提示无效sql语句。不知该如何更改?