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


  • 相关阅读:
    IELTS Writing Task 2: 'music' essay
    leetcode 368. 最大整除子集
    820复试算法 快排找第 k 小
    ASP.NET后台生成随机验证码
    Oracle身份证验证方法
    ASP.NET 存储过程导入(oracle)返回导入成功数和导入失败数
    C#执行参数为游标 返回一个记录集的Oracle存储过程
    C#执行带参数的Oracle存储过程
    往ORACLE数据库中插入XML数据
    存储过程 将数据插入到临时表,再根据条件判断 插入到不同的表
  • 原文地址:https://www.cnblogs.com/dashi/p/4034643.html
Copyright © 2011-2022 走看看