zoukankan      html  css  js  c++  java
  • 关于存储过程return 和 output 获取

    1.sql存储过程

       --创建存储过程示例
    create proc  GetReturnValueOrOutputValue
    @Param_id  nvarchar(12)  output
    as
    if(1>0)
    begin
    set  @Param_id=1
    return 1
    end
    else
    begin
    set  @Param_id=2
    return 2
    end

    2.C#程序调用

     //组合数据sqlparameter
                string sql _procedure=""; //执行sql存储过程

                string constring = "";//配置文件的链接字符串
                SqlCommand cmd = new SqlCommand(sql_procedure, new SqlConnection(constring));
               
                SqlParameter[] param= new SqlParameter[2];
                param[0] = new SqlParameter("@Param_id", DbType.String);
                param[0].Direction = ParameterDirection.Output;
                param[1] = new SqlParameter("@returnValue", DbType.Int32);
                param[1].Direction = ParameterDirection.ReturnValue;

                foreach (SqlParameter item in param)
               {
               cmd.Parameters .Add(item);
               }

                //获取值
                string Param_id = Convert.ToString(cmd.Parameters["@Param_id"].Value);
                int returnValue = Convert.ToInt32(cmd.Parameters["@returnValue"].Value);

    3.企业库调用

                Database db = DatabaseFactory.CreateDatabase();

                //ReportNo存储过程
                DbCommand cmd = db.GetStoredProcCommand("ReportNo");

               db.AddParameter(cmd, "@returnValue", DbType.Int32, ParameterDirection.ReturnValue, "", DataRowVersion.Default, null);

               db.ExecuteNonQuery(cmd);
                int returnValue = Convert.ToInt32(cmd.Parameters["@returnValue"].Value);

    return  从查询或过程中无条件退出   是返回的整型值  output  可以返回自定义类型

  • 相关阅读:
    Spring MVC(一)
    Spring-IOC总结
    IT
    Spring基础
    Maven
    Ajax笔记
    数据库和SQL语言
    JDBC
    拦截器
    文件上传
  • 原文地址:https://www.cnblogs.com/linsu/p/2247596.html
Copyright © 2011-2022 走看看