procedure  不是 function (因为有update/delete)所以要用procedure
在最后写了return 123之类的
在c#中如何得到这个返回值呢
用ExecureScalar吗
我得不到啊

解决方案 »

  1.   

    da.SelectCommand.CommandText = " declare @a varchar(100) exec @a =  dbo.test  select @a ";
    object a = da.SelectCommand.ExecuteScalar();
      

  2.   

    返回值还是OUTPUT参数?
    返回值的话
    System.Data.SqlClient.SqlParameter p = new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4);
                p.Direction = System.Data.ParameterDirection.ReturnValue;OUTPUT参数的话
                System.Data.SqlClient.SqlParameter p = new System.Data.SqlClient.SqlParameter("@PN", System.Data.SqlDbType.Int, 4);
                p.Direction = System.Data.ParameterDirection.Output;
    最后ExecuteNonQuery()以后取p.Value
      

  3.   

    记得Command对象里要用加这个参数,参数名自己定