请教
如何返回sqlserver 中存储过程的select的结果集
谢谢!

解决方案 »

  1.   

    有控件,直接执行存储过程就可以了,然后配以datasource,简单操作上跟adoquery差不多
      

  2.   


    TADOStoredProc.
    delphi ADO控件组里.
      

  3.   

    adodataset.commandText:='exec procname';
    adodataset.open;
      

  4.   


    create procedure dbo.Test 
    as begin
      select * from tableName
    end
      
     AdoQuery1.close;
     AdoQuery1.sql.text := 'Execute Test';
     Adoquery1.open;
      

  5.   

       ADOQuery1.close;
       ADOQuery1.sql.clear;
       ADOQuery1.add('select 列名1,列名2 from 表名 where field1>=:pa1');
       ADOQuery1.parambyname('pa1').asstring:=edit1.text;   //参数
       ADOQuery1.open;返回 调用其值
       for i = 0 to ADOQuery1.RecordCount - 1 do
       begin
         ComboBox1.Items.Add(ADOQuery1.FieldValues['列名1']);  //注意类型转换。本例列名1为字符串类型
          ComboBox2.Items.Add(ADOQuery1.FieldValues['列名2']);
       end;
      

  6.   

      
      ADOQuery1.close; 
      ADOQuery1.sql.clear; 
      ADOQuery1.add('select 列名1,列名2 from 表名 where field1>=:pa1'); 
      ADOQuery1.parambyname('pa1').asstring:=edit1.text;  //参数 
      ADOQuery1.open; 修改下 忘了数据集指定位置
    返回 调用其值 
      ADOQuery1.First
      for i = 0 to ADOQuery1.RecordCount - 1 do 
      begin 
        ComboBox1.Items.Add(ADOQuery1.FieldValues['列名1']);  //注意类型转换。本例列名1为字符串类型 
        ComboBox2.Items.Add(ADOQuery1.FieldValues['列名2']); 
        ADOQuery1.Next;
      end;
      

  7.   

    ADOStoredProc1:TADOStoredProc;
    ADOStoredProc1:=TADOStoreProc.create(nil);
    ADOStoredProc.connectionstring:='数据库连接字符串';
    ..............ProcedureName:='存储过程名称';
    ..............Parameters.CreateParameter('aaa',''...............);存储过程参数
    调用时传入参数
      

  8.   

    個人習慣下面的格式:
        
         with adoquery do
         begin
           close;
           sql.clear;
           sql.add(' exec procName (:A,:B,...)');
           Parameters.ParamByName('A').Value:='';
           Parameters.ParamByName('B').Value:='';
           ....;
           ExecSQL;
         end;
        
      

  9.   

    如果储过程中有多个select 怎么区分不同的select的结果集