sqlserver2000数据库
PROC代码如下:CREATE PROC aaa
@bbb varchar(50), 
@ccc varchar(50
AS 
begin
declare @ddd as int
set @ddd= 0
declare @eee as varchar(1000)
set @eee  = null

select @ddd=ddd,@eee=eee from fff where bbb=@bbb and ccc=@ccc
         --something
        --else
select @ddd,@eeeend
GO
执行结果如下:exec aaa 'bbb','ccc'
--return:
无列名|无列名
1    |hhh从c#中获取返回一列我会操作,但是返回多列应该如何取值呢?谢谢!

解决方案 »

  1.   

    你返回个,添充datatable 不行吗.
      

  2.   

    谢谢1楼
    我是在类里调用的,因为返回的参数是用作类的参数返回的,我想要直接分别将列@ddd,和@eee的值传给我类中的变量
      

  3.   

    用sqlDataReader去读取数据SqlCommand cmd = new SqlCommand("aaa", conn);
    conn.Open();
    cmd.CommandType = CommandType.StoredProcedure;
    SqlParameter sp1 = new SqlParameter("@bbb", SqlDbType.Varchar, 50);
    sp1.Value = "bbb";
    SqlParameter sp2 = new SqlParameter("@ccc", SqlDbType.Varchar, 50);
    sp1.Value = "ccc";
    cmd.Parameters.Add(sp1);
    cmd.Parameters.Add(sp2);SqlDataReader reader = cmd.Execute();
    while(reader.Read())
    {
        int i = reader.GetInt32(0);
        string s = reader.GetString(1);
    }
      

  4.   

    基本上使用reader就可以解决问题了