通过实例了解抽象工厂(二)数据层
2007-05-08 21:14
471 查看
数据层SQLServerDAL相对简单,只需要继承Factory并实现里面的抽象方法就ok了
添加数据层类库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;
}
}
}
}
数据层出来我想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;
}
}
}
}
数据层出来我想Factory类也不再神秘了。我们下面该做用户界面了 (显示层)
添加Web项目,添加Default.ASPx
在Default.ASPx中添加GridView---添加ObjectDataSource---将ObjectDataSource对象数据源绑定到GridView控件
配置ObjectDataSource对象数据源,选择业务逻辑对象Components.NewsS
点击下一步在Select选项卡中选择方法GetNews()
完成,启动调试
下载源代码
相关文章推荐
- 通过实例了解抽象工厂(一)数据组件层
- 通过实例了解抽象工厂
- 每日一个js实例13--通过曲线反应json数据
- Activity, Service之间的数据传递通过BroadCastReceive的操作实例代码
- Hadoop 实例1---通过采集的气象数据分析每年的最高温度
- 1.简单实例:ASP.NET下Echarts通过Ajax从数据库中获取数据
- Python数据分析中Groupby用法之通过字典或Series进行分组的实例
- 通过FEDERATED存储引擎同步两实例间的表数据
- PHP通过插入mysql数据来实现多机互锁实例
- 通过一个简单的AJAX实例,了解其大致步骤
- Java编程通过匹配合并数据实例解析(数据预处理)
- Android简单数据存储类SharedPreferences详解及实例(通过“记住密码”功能学习SharedPreferences)
- Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例
- ts实例应用之通过城市的citycode获取天气数据(逻辑)
- mysql 通过拷贝数据文件的方式进行数据库迁移实例
- 通过实例学习Virtools脚本语言VSL - 检索和修改数组的数据
- (oracle学习笔记)游标实例:通过游标遍历合并数据
- 同一个应用程序两个实例通过内存映射共享数据
- 通过file_get_contents来Post数据的实例
- 通过数据链接(Database Link),从Oracle 10g 连接 SQL Server 2000(实例)