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


  • 相关阅读:
    SGA_MAX_SIZE,SGA_TARGET以及PRE_PAGE_SGA参数
    关于DataPump的external_table模式
    undo backup optimization does not work on 11.2.0.1?
    发一个Oracle Dba招聘启事
    ORA600[4194]错误一例
    ORA00600: internal error code, arguments: [kdsgrp1] example
    Pending Problem
    如何修复重编译Datapump工具expdp/impdp
    Mysql:备份、还原、恢复:Mysqldump——标准免费的通用备份工具
    Mysql:SQL语句:DDL语句
  • 原文地址:https://www.cnblogs.com/dashi/p/4034643.html
Copyright © 2011-2022 走看看