asp.net数据库连接,三层架构方法调用

时间:2022-04-17 13:18:57
asp.net数据库连接,三层架构方法调用
一、web.config配置
<connectionStrings/>
 <!-- 数据库连接关键字 -->
 <appSettings>
  <add key="ConnectionKey" value="Data Source=192.168.100.31;Initial Catalog=stock;User ID=sa;password=123;max pool size=10;min pool size=6"/>
 </appSettings>
 <system.web>

下面的是语言配置
<globalization culture="zh-CN" uiCulture="zh-CN" requestEncoding="gb2312" responseEncoding="gb2312"/>
注意他的位置,不能弄错了。
二、建立数据库的连接
asp.net数据库连接,三层架构方法调用public   class  GetConn
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用
{
asp.net数据库连接,三层架构方法调用    
public GetConn()
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用        
// TODO: 在此处添加构造函数逻辑
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用
    }

asp.net数据库连接,三层架构方法调用    
private static SqlConnection conn = null;
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 返回数据库的连接
asp.net数据库连接,三层架构方法调用    
/// </summary>

asp.net数据库连接,三层架构方法调用    public SqlConnection Conn
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
get
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用        
{
asp.net数据库连接,三层架构方法调用            
if (conn == null)//如果为空,则创建,否则直接返回对象,单键模式,减少对象的重复创建。
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用
            {
asp.net数据库连接,三层架构方法调用                
string url = ConfigurationSettings.AppSettings["ConnectionKey"];
asp.net数据库连接,三层架构方法调用                conn 
= new SqlConnection(url);
asp.net数据库连接,三层架构方法调用            }

asp.net数据库连接,三层架构方法调用            
return conn;
asp.net数据库连接,三层架构方法调用        }

asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用}
三、数据库方法调用
假设数据库里有一个用户表,下面是关于用户表的方法,查询,删除,修改
asp.net数据库连接,三层架构方法调用public   class  User
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用
{
asp.net数据库连接,三层架构方法调用    
public User()
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用        
// TODO: 在此处添加构造函数逻辑
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用
    }

asp.net数据库连接,三层架构方法调用    GetConn conn 
= new GetConn();
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 根据条件获取用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public DataTable SelectUsersDynamic(string WhereCondition, string OrderByExpression)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        DataTable dt 
= new DataTable();
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("SelectUsersDynamic", conn.Conn);
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@WhereCondition", SqlDbType.NVarChar, 500);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@WhereCondition"].Value = WhereCondition;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@WhereCondition"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@OrderByExpression", SqlDbType.NVarChar, 250);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@OrderByExpression"].Value = OrderByExpression;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@OrderByExpression"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        SqlDataAdapter adapter 
= new SqlDataAdapter(comm);
asp.net数据库连接,三层架构方法调用        adapter.Fill(dt);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return dt;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 查询所有用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public DataTable SelectUsersAll()
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        DataTable dt 
= new DataTable();
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("SelectUsersAll", conn.Conn);
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;       
asp.net数据库连接,三层架构方法调用        SqlDataAdapter adapter 
= new SqlDataAdapter(comm);
asp.net数据库连接,三层架构方法调用        adapter.Fill(dt);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return dt;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 删除用户
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int DeleteUser(int UserID)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("DeleteUser", conn.Conn);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Closed)
asp.net数据库连接,三层架构方法调用            conn.Conn.Open();
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@UserID", SqlDbType.Int, 4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserID"].Value = UserID;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserID"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        
int counts = comm.ExecuteNonQuery();
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return counts;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 修改用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserID"></param>  
asp.net数据库连接,三层架构方法调用    
/// <param name="IsSupplier"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="RoleID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int UpdateUser(int UserID,string UserName,int IsSupplier, int RoleID)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("UpdateUser", conn.Conn);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Closed)
asp.net数据库连接,三层架构方法调用            conn.Conn.Open();
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@UserID", SqlDbType.Int,4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserID"].Value = UserID;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserID"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@UserName", SqlDbType.VarChar,20);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Value = UserName;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Direction = System.Data.ParameterDirection.Input;      
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@IsSupplier", SqlDbType.Int,4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@IsSupplier"].Value = IsSupplier;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@IsSupplier"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@RoleID", SqlDbType.Int,4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@RoleID"].Value = RoleID;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@RoleID"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        
int counts = comm.ExecuteNonQuery();
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return counts;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 设置密码
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="Password"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int UpdateUserPassword(string UserName, string Password)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("UpdateUserPassword", conn.Conn);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Closed)
asp.net数据库连接,三层架构方法调用            conn.Conn.Open();
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@UserName", SqlDbType.VarChar,20);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Value = UserName;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@Password", SqlDbType.VarChar ,32);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@Password"].Value = Password;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@Password"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        
int counts = comm.ExecuteNonQuery();
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return counts;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 新增用户
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="Password"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="IsSupplier"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="RoleID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int InsertUser(string UserName, string Password, int IsSupplier, int RoleID,string SupplierCode)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        SqlCommand comm 
= new SqlCommand("InsertUser", conn.Conn);
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Closed)
asp.net数据库连接,三层架构方法调用            conn.Conn.Open();
asp.net数据库连接,三层架构方法调用        comm.CommandType 
= CommandType.StoredProcedure;        
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@UserName", SqlDbType.NVarChar, 20);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Value = UserName;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@UserName"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@Password", SqlDbType.NVarChar, 32);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@Password"].Value = Password;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@Password"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@IsSupplier", SqlDbType.Int, 4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@IsSupplier"].Value = IsSupplier;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@IsSupplier"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@RoleID", SqlDbType.Int, 4);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@RoleID"].Value = RoleID;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@RoleID"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        comm.Parameters.Add(
"@SupplierCode", SqlDbType.VarChar,200);
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@SupplierCode"].Value = SupplierCode;
asp.net数据库连接,三层架构方法调用        comm.Parameters[
"@SupplierCode"].Direction = System.Data.ParameterDirection.Input;
asp.net数据库连接,三层架构方法调用        
int counts = comm.ExecuteNonQuery();
asp.net数据库连接,三层架构方法调用        
if (conn.Conn.State == ConnectionState.Open)
asp.net数据库连接,三层架构方法调用            conn.Conn.Close();
asp.net数据库连接,三层架构方法调用        
return counts;
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用}

asp.net数据库连接,三层架构方法调用
四、业务层的建立
asp.net数据库连接,三层架构方法调用public   class  UserBLL
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用
{
asp.net数据库连接,三层架构方法调用    
public UserBLL()
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用        
// TODO: 在此处添加构造函数逻辑
asp.net数据库连接,三层架构方法调用        
//
asp.net数据库连接,三层架构方法调用
    }

asp.net数据库连接,三层架构方法调用    User user 
= new User();
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用       
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 根据用户名获取用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public DataTable SelectUsersDynamic(string WhereCondition, string OrderByExpression)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.SelectUsersDynamic(WhereCondition, OrderByExpression);
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用      
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 查询所有用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public DataTable SelectUsersAll()
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.SelectUsersAll();
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用     
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 删除用户
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int DeleteUser(int UserID)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.DeleteUser(UserID);
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用     
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 修改用户信息
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserID"></param>   
asp.net数据库连接,三层架构方法调用    
/// <param name="IsSupplier"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="RoleID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int UpdateUser(int UserID, string UserName, int IsSupplier, int RoleID)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.UpdateUser(UserID,UserName,IsSupplier, RoleID);
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 设置密码
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="Password"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int UpdateUserPassword(string UserName, string Password)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.UpdateUserPassword(UserName , new StockBaseBLL().MD5( Password,16));
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
/// <summary>
asp.net数据库连接,三层架构方法调用    
/// 新增用户
asp.net数据库连接,三层架构方法调用    
/// </summary>
asp.net数据库连接,三层架构方法调用    
/// <param name="UserName"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="Password"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="IsSupplier"></param>
asp.net数据库连接,三层架构方法调用    
/// <param name="RoleID"></param>
asp.net数据库连接,三层架构方法调用    
/// <returns></returns>

asp.net数据库连接,三层架构方法调用    public int InsertUser(string UserName, string Password, int IsSupplier, int RoleID, string SupplierCode)
asp.net数据库连接,三层架构方法调用asp.net数据库连接,三层架构方法调用    
{
asp.net数据库连接,三层架构方法调用        
return user.InsertUser(UserName, Password, IsSupplier, RoleID,SupplierCode);
asp.net数据库连接,三层架构方法调用    }

asp.net数据库连接,三层架构方法调用}

asp.net数据库连接,三层架构方法调用

上面的调用感觉像是多余的,其实不是的,他可以隔离表示层和数据库层的方法。还有如果对数据集要处理的话,也可以在这里处理好,然后返回给表示层。
五、表示层调用
这一层的调用我想就不写了,因为很简单,就是创建对象,然后调用。