create proc page1
@pageindex int,
@allpages int output
as 
declare @sql int--这里的 @ 变量  和  declare @ 变量  有什么不同作用?----------------------
create proc p
as
declare @str1 nvarchar(50)
declare @str2 nvarchar(50)set @str1='select * from tb'
set @str2='select * from tb2'exec(@str1)
exec(@str2)
--我创建了一个p存储过程.
然后我执行 exec p它返回来的是两个表的结果.
那么我在asp.net 里 怎样分别调出这两个表?  mycmd.ExecuteReader();只能返回头一个表

解决方案 »

  1.   

    http://topic.csdn.net/u/20091204/21/722689e1-7824-497c-b709-4b1118264633.html
      

  2.   

    粗粗的手写了一点返回多个表用:SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);这个dataset就是所求
    详细的上网查一下。。
      

  3.   

    declare的变量是在SQL 语句内部使用的临时变量,开头的@变量是需要传入的参数,或者加了output的话这个传入的参数在执行了存储过程后,内部的值是存储过程传入的,在后面的语句中是可以继续使用的