标准三层架构注简单册代码

来源:互联网 发布:ram风险评估矩阵 编辑:程序博客网 时间:2024/05/16 13:23

界面后台层:

protected void btnAdd_Click(object sender,EventArgs e)
 {   ///执行添加操作
  Web2ASPNET2.WebRSS.User user = new User();
  if(user.AddUser(tbUserName.Text,
   tbPassword.Text,
   WebRSS.NormalRoleID,
   tbEmail.Text) > 0)
  {
   Dialog.OpenDialog(Response,"恭喜您,注册新用户成功……");   
  }
 }

业务逻辑层:

public int AddUser(string userName,string password,int roleID,
   string email)
  {
   SqlParameter[] parameters = {
    OperateDatabase.CreateInParam("@UserName",SqlDbType.VarChar,50,userName),
    OperateDatabase.CreateInParam("@Password",SqlDbType.VarChar,255,password),
    OperateDatabase.CreateInParam("@RoleID",SqlDbType.Int,4,roleID),
    OperateDatabase.CreateInParam("@Email",SqlDbType.VarChar,255,email)
   };
   return (OperateDatabase.RunProc("Pr_AddUser",parameters));
  }

 

 

 

 

#region 创建参数

  /// <summary>
  /// 创建参数
  /// </summary>
  /// <param name="ParamName">存储过程名称</param>
  /// <param name="DbType">参数类型</param>
  /// <param name="Size">参数大小</param>
  /// <param name="Direction">参数方向</param>
  /// <param name="Value">参数值</param>
  /// <returns>新的 parameter 对象</returns>
  private static SqlParameter CreateParam(string ParamName,SqlDbType DbType,
   Int32 Size,ParameterDirection Direction,object Value)
  {
   SqlParameter param;   
   if(Size > 0)
   {   ///使用size创建大小不为0的参数
    param = new SqlParameter(ParamName,DbType,Size);
   }
   else
   {
    param = new SqlParameter(ParamName,DbType);
   }
   ///创建输出类型参数
   param.Direction = Direction;
   if(!(Direction == ParameterDirection.Output && Value == null))
   {
    param.Value = Value;
   }
   ///返回参数
   return param;
  }

  /// <summary>
  /// 创建输入类型参数
  /// </summary>
  /// <param name="ParamName">存储过程名称</param>
  /// <param name="DbType">参数类型</param></param>
  /// <param name="Size">参数大小</param>
  /// <param name="Value">参数值</param>
  /// <returns>新的parameter 对象</returns>
  public static SqlParameter CreateInParam(string ParamName,
   SqlDbType DbType,int Size,object Value)
  {
   return CreateParam(ParamName,DbType,Size,ParameterDirection.Input,Value);
  }

  /// <summary>
  /// 创建输出类型参数
  /// </summary>
  /// <param name="ParamName">存储过程名称</param>
  /// <param name="DbType">参数类型</param>
  /// <param name="Size">参数大小</param>
  /// <returns>新的 parameter 对象</returns>
  public static SqlParameter CreateOutParam(string ParamName,
   SqlDbType DbType,int Size)
  {
   return CreateParam(ParamName,DbType,Size,ParameterDirection.Output,null);
  }

  /// <summary>
  /// 创建返回类型参数
  /// </summary>
  /// <param name="ParamName">存储过程名称</param>
  /// <param name="DbType">参数类型</param>
  /// <param name="Size">参数大小</param>
  /// <returns>新的 parameter 对象</returns>
  public static SqlParameter CreateReturnParam(string ParamName,
   SqlDbType DbType,int Size)
  {
   return CreateParam(ParamName,DbType,Size,ParameterDirection.ReturnValue,null);
  }

  #endregion

 

 

 

 

 

 

数据访问层:

/// <summary>
  /// 执行存储过程
  /// </summary>
  /// <param name="procName">存储过程名称</param>
  /// <param name="prams">存储过程参数</param>
  /// <returns></returns>
  public static int RunProc(string procName,params SqlParameter[] prams)
  {   ///创建SqlCommand对象
   SqlCommand cmd = CreateSqlCommand(procName,prams);
   if(cmd == null) return -1;
   try
   {   ///执行存储过程
    cmd.ExecuteNonQuery();
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }
   finally
   {   ///关闭连接
    if(cmd.Connection.State == ConnectionState.Open)
    {
     cmd.Connection.Close();
    }
   }

   ///返回执行结果
   return (int)cmd.Parameters[returnValueString].Value;  
  }

原创粉丝点击