您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从存储过程返回多个值

从存储过程返回多个值

ALTER procedure ashwin @empid int,@empname varchar(20) output,@age int output
as
select @empname=ename,@age=age
from emp where empid=@empid;

declare @ename varchar(20),@age int
execute ashwin 101,@ename out,@age out
select @ename,@age;

// ------------

namespace sqlserver
{
    class Program
    {
        static void Main(string[] args)
        {

            createconnection();
        }
        public static void createconnection()
        {
            sqlConnection con=new sqlConnection("Data Source=ASHWIN\\sqlEXPRESS;Initial Catalog=employee;Integrated Security=True;Pooling=False");
            con.open();

            sqlCommand cmd=new sqlCommand("ashwin",con);
            cmd.CommandType=CommandType.StoredProcedure;
            cmd.Parameters.Add(new sqlParameter("@empid",sqlDbType.Int,10,"empid"));
            cmd.Parameters.Add(new sqlParameter("@empname", sqlDbType.VarChar, 20,ParameterDirection.Output,false,0,20,"ename",DaTarowVersion.Default,null));
            cmd.Parameters.Add(new sqlParameter("@age", sqlDbType.Int, 20, ParameterDirection.Output, false, 0, 10, "age", DaTarowVersion.Default, null));
            cmd.Parameters[0].Value = 101;
            cmd.UpdatedRowSource = UpdateRowSource.OutputParameters;
            cmd.ExecuteNonQuery();
            string name = (string)cmd.Parameters["@empname"].Value;
            int age = Convert.ToInt32(cmd.Parameters["@age"].Value);
            Console.WriteLine("the name is {0}--and age is {1}", name,age);


            Console.ReadLine();
        }
    }
其他 2022/1/1 18:37:41 有431人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶