zoukankan      html  css  js  c++  java
  • ADO.net取存储过程的返回值以及存储过程中Return和OUTPUT的区别

    CREATE PROCEDURE [dbo].[TestProc] 
      
    @name varchar(50)
    AS

      
    select 'Hello, World! ' + @name 
      
    return 1234
    GO


    ADO.net

    using (SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=test"))
    {
      conn.Open();

      SqlCommand cmd 
    = new SqlCommand("TestProc", conn);
            
      cmd.Parameters.Add(
    new SqlParameter("@name""Q.yuhen"));
      cmd.Parameters.Add(
    new SqlParameter("@return", SqlDbType.Int, 0, ParameterDirection.ReturnValue, 
        
    true00string.Empty, DataRowVersion.Default, DBNull.Value));

      cmd.CommandType 
    = CommandType.StoredProcedure;

      
    object o = cmd.ExecuteScalar();
      
    int returnValue = (int)cmd.Parameters["@return"].Value;

      Console.WriteLine(
    "{0}; Return:{1}", o, returnValue);
    }

    RETURN只能返回INT型,OUTPUT可以返回自定义类型

    执行到RETURN的时候存储过程即结束。
    而OUTPUT的变量可以重复设置

  • 相关阅读:
    生产环境经常用到的命令
    JDK 安装部署
    oracle备份脚本
    HTTP与HTTPS的区别
    TCP和UDP的优缺点及区别
    Web服务器优化
    DDOS攻击的三种常见方式
    Xss Csrf DDOS sql注入及防范
    session共享
    Cookie防伪造防修改
  • 原文地址:https://www.cnblogs.com/yeagen/p/1380129.html
Copyright © 2011-2022 走看看