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


  • 相关阅读:
    jquery之自定义data属性
    js获取显示器、页面等高度 (转)
    A网页高度随B内容而自然变化兼容各种浏览器
    DIV+ul+LI实现表格效果以及div带滑动条
    不同人对待问题不同态度
    MySQL,SqlServer数据库关键字在程序中处理
    一款连接SqlServer的数据库工具
    VB.Net日期格式化的5种使用方法
    MySQL与SqlServer中update操作同一个表问题
    SqlServer中存储过程 returnC#代码处理以及对应的MySQL如何改写
  • 原文地址:https://www.cnblogs.com/dashi/p/4034643.html
Copyright © 2011-2022 走看看