数据层SQLServerDAL相对简单,只需要继承Factory并实现里面的抽象方法就ok了
添加数据层类库SQLServerDAL,添加类SQLServerDAL

还是以上一章节为例,源代码
数据层出来我想Factory类也不再神秘了。我们下面该做用户界面了 (显示层)
添加Web项目,添加Default.ASPx

在Default.ASPx中添加GridView---添加ObjectDataSource---将ObjectDataSource对象数据源绑定到GridView控件

配置ObjectDataSource对象数据源,选择业务逻辑对象Components.NewsS

点击下一步在Select选项卡中选择方法GetNews()

完成,启动调试

下载源代码
添加数据层类库SQLServerDAL,添加类SQLServerDAL

还是以上一章节为例,源代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Components;
namespace SQLServerDAL
{
public class SQLServerDAL:Factory //继承数据抽象工厂类
{
private string connectionString = "";
public string ConnectionString
{
get { return connectionString; }
set { connectionString = value; }
}
//返回Connection实例
public SqlConnection GetSqlConnection()
{
try
{
return new SqlConnection(ConnectionString);
}
catch
{
throw new Exception("数据库连接字符串无效");
}
}
public SQLServerDAL()
{
//获取Web.Config里设置的连接字符串
this.ConnectionString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
}
//实现工厂方法中的抽象方法,返回范型新闻实体对象即新闻列表。
public override List<News> GetNews()
{
using (SqlConnection Con = GetSqlConnection())
{
SqlCommand Com = new SqlCommand("GetNews",Con);
Com.CommandType = CommandType.StoredProcedure;
Con.Open();
SqlDataReader dr = Com.ExecuteReader(CommandBehavior.CloseConnection);
List<News> news = new List<News>();
while (dr.Read())
news.Add(NewsIDataReader(dr));//Factory工厂方法中数据抽取器的调用
Con.Close();
return news;
}
}
}
}
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Components;
namespace SQLServerDAL
{
public class SQLServerDAL:Factory //继承数据抽象工厂类
{
private string connectionString = "";
public string ConnectionString
{
get { return connectionString; }
set { connectionString = value; }
}
//返回Connection实例
public SqlConnection GetSqlConnection()
{
try
{
return new SqlConnection(ConnectionString);
}
catch
{
throw new Exception("数据库连接字符串无效");
}
}
public SQLServerDAL()
{
//获取Web.Config里设置的连接字符串
this.ConnectionString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
}
//实现工厂方法中的抽象方法,返回范型新闻实体对象即新闻列表。
public override List<News> GetNews()
{
using (SqlConnection Con = GetSqlConnection())
{
SqlCommand Com = new SqlCommand("GetNews",Con);
Com.CommandType = CommandType.StoredProcedure;
Con.Open();
SqlDataReader dr = Com.ExecuteReader(CommandBehavior.CloseConnection);
List<News> news = new List<News>();
while (dr.Read())
news.Add(NewsIDataReader(dr));//Factory工厂方法中数据抽取器的调用
Con.Close();
return news;
}
}
}
}
数据层出来我想Factory类也不再神秘了。我们下面该做用户界面了 (显示层)
添加Web项目,添加Default.ASPx

在Default.ASPx中添加GridView---添加ObjectDataSource---将ObjectDataSource对象数据源绑定到GridView控件

配置ObjectDataSource对象数据源,选择业务逻辑对象Components.NewsS

点击下一步在Select选项卡中选择方法GetNews()

完成,启动调试

下载源代码
浙公网安备 33010602011771号