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的变量可以重复设置

  • 相关阅读:
    Qt中不同类型数据之间的相互转换
    数组传参
    sizeof和strlen区别
    打印字符‘烫’
    vivado hls(1)
    时序约束方法(2)
    FPGA浮点数定点化
    FPGA设计思想与技巧(转载)
    视频采集显示总结
    Verilog code
  • 原文地址:https://www.cnblogs.com/yeagen/p/1380129.html
Copyright © 2011-2022 走看看