zoukankan      html  css  js  c++  java
  • OUTPUT新增记录入库示例C#+存储过程

    1.C#代码

            public int Insert(Entity model)
            {
                var parameters = new SqlParameter[]
                    {
                        new SqlParameter("@ID",SqlDbType.Int){Value = model.ID}, 
                        new SqlParameter("@COL", SqlDbType.Int) {Value = model.COL}
    
                    };
                parameters[0].Direction = ParameterDirection.Output;
                var parmetersList = new ArrayList(parameters);
                return ExecuteSPE("Porc_TableName_Add", parmetersList);
            }

            /// <summary>
            /// 处理存储过程
            /// </summary>
            /// <param name="spName">存储过程名</param>
            /// <param name="parameters">参数列表</param>
            /// <returns>存储过程的返回值</returns>
            protected virtual int ExecuteSPE(string spName, ArrayList parameters)
            {
                int reValue = 0;
                ExecuteSP(spName, parameters, out reValue);
                return reValue;
            }

            /// <summary>
            /// 处理存储过程
            /// </summary>
            /// <param name="spName">存储过程名</param>
            /// <param name="parameters">参数列表</param>
            /// <param name="reValue">返回值</param>
            protected virtual void ExecuteSP(string spName, ArrayList parameters, out int reValue)
            {
                reValue = 0;
                cmd.CommandText = spName;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandTimeout = 60;
                cmd.Parameters.Clear();
                if (parameters != null)
                {
                    foreach (SqlParameter param in parameters)
                    {
                        cmd.Parameters.Add(param);
                    }
                }
                SqlParameter returnParam = new SqlParameter("returnVal", SqlDbType.Bit);
                returnParam.Direction = ParameterDirection.ReturnValue;
                cmd.Parameters.Add(returnParam);
                try
                {
                    Open();
                    cmd.ExecuteNonQuery();
                    reValue = Convert.ToInt32(returnParam.Value);
                }
                catch (Exception e)
                {
                    LogHelper.WriteLog(
                        "
    方法异常【ExecuteSP(string spName, ArrayList parameters, out int reValue)】" + spName, e);
                    throw new Exception(e.Message);
                }
                finally
                {
                    Close();
                }
            }


    2.存储过程

    CREATE PROCEDURE [dbo].[Porc_TableName_Add]
    (
    @ID INT OUTPUT,
    @COL INT
    
    )
     AS 
     
    
    	INSERT INTO dbo.TableName(COL)
    	VALUES  (@COL)
    	SET @ID = @@IDENTITY
    	
    	
    	RETURN @ID


  • 相关阅读:
    Base-64 字符数组或字符串的长度无效
    vs2015web项目无法加载64位c++的dll,提示试图加载不正确的格式
    解决json显示日期带T的问题
    light7的picker无法控制选择数值范围的解决办法
    sqlserver中获取本周记录
    js日期格式化,兼容ie
    ASP 缓存处理及URL 重写
    SQL Server2008附加数据库之后显示为只读时解决方法
    SQL 2008升级SQL 2008 R2完全教程或者10.00.1600升级10.50.1600
    xamarin 学习
  • 原文地址:https://www.cnblogs.com/dashi/p/4034643.html
Copyright © 2011-2022 走看看