技术开发 频道

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

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

protected int RunProcedure(string storedProcName, IDataParameter[] parameters, out introwsAffected )
  {
int result;Connection.Open();
  SqlCommand command
= BuildIntCommand( storedProcName, parameters );
  rowsAffected
= command.ExecuteNonQuery();r
  esult
= (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();

  }

 

  

 

0
相关文章