[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 开发平台子站 > .NET技术

浅谈Asp.net多层架构中的变量引用与传递

作者: 佚名,  出处:中国IT实验室, 责任编辑: 包春林, 
2008-05-14 04:00
  利用这个时间仔细研究了一下Asp.net的多层架构,主要参考的是 Wrox 的一本<.Net WebSite Programming Problem-Design-Solution>,个人觉得这本书写的不错。面向有一定.net基础的开发人员,刚开始看起来可能觉得很难懂,但是仔细研究一下会发现,这本书是一本面向工程应用的优秀参考手册。

  Asp.net的多层架构主要是为了解决数据层,逻辑层,表示层等之间的关系。我的做法是这样的:首先建立一个DataCore的基类。基类里面封装了一些低层的数据库的基本操作,比如说数据库联接,调用存储过程等等。在这里面有一个地方值得注意,通过对一个函数的重载可以实现调用不同功能的存储过程。以下代码示例:

  

      protected int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected )

  {

  int result;

  Connection.Open();

  SqlCommand command = BuildIntCommand( storedProcName, parameters );

  rowsAffected = command.ExecuteNonQuery();

  result = (int)command.Parameters["ReturnValue"].Value;

  Connection.Close();

  return result;

  }

  protected SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )

  {

  SqlDataReader returnReader;

  Connection.Open();

  SqlCommand command = BuildQueryCommand( storedProcName, parameters );

  command.CommandType = CommandType.StoredProcedure;

  returnReader = command.ExecuteReader();

  //Connection.Close();

  return returnReader;

  }

  protected DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName )

  {

  DataSet dataSet = new DataSet();

  Connection.Open();

  SqlDataAdapter sqlDA = new SqlDataAdapter();

  sqlDA.SelectCommand = BuildQueryCommand( storedProcName, parameters );

  sqlDA.Fill( dataSet, tableName );

  Connection.Close();

  return dataSet;

  }

  protected void RunProcedure(string storedProcName, IDataParameter[] parameters, DataSet dataSet, string tableName )

  {

  Connection.Open();

  SqlDataAdapter sqlDA = new SqlDataAdapter();

  sqlDA.SelectCommand = BuildIntCommand( storedProcName, parameters );

  sqlDA.Fill( dataSet, tableName );

  Connection.Close();

  }

共2页。 1 2 :
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅