面向接口开发的一个架构(二)
2009-10-19 11:09
375 查看
数据访问层
一、IDAL 定义数据访问层接口
IDABase.cs
namespace IDAL
2namespace DataAccess
2namespace DataAccess
2{
3 public class LogDA : BaseDA
4 {
5 private const string SQL_GET_LOGID = "select top 1 id from Log order by id desc";
6 private const string SQL_INSERT_LOG = "insert into Log values(@ID,@Name,@Describe,@CreateDate)";
7 private const string SQL_GET_LOG = "select * from Log";
8 private const string SQL_GET_LOG_ID = "select * from Log where ID=";
9
10 public override int Add(DataSet ds)
11 {
12 int id = 0;
13 SqlParameter[] parms = GetLogParamerters();
14 parms = AssignParam(parms, ds);
15 conn.Open();
16 object objID = SqlHelper.ExecuteScalar(conn, CommandType.Text, SQL_GET_LOGID, null);
17 if (objID != null)
18 {
19 id = Convert.ToInt32(objID);
20 }
21 id++;
22 parms[0].Value = id;
23 SqlHelper.ExecuteNonQuery(conn, CommandType.Text, SQL_INSERT_LOG, parms);
24 conn.Close();
25 return id;
26 }
27
28 public override DataSet Get()
29 {
30 return base.GetData(SQL_GET_LOG);
31 }
32
33 public override DataSet Get(int id)
34 {
35 string sqlText = SQL_GET_LOG_ID + id;
36 return base.GetData(sqlText);
37 }
38
39 private SqlParameter[] GetLogParamerters()
40 {
41 SqlParameter[] parms = SqlHelper.GetCachedParameters(SQL_INSERT_LOG);
42
43 if (parms == null)
44 {
45 parms = new SqlParameter[]
46 {
47 new SqlParameter("@ID",SqlDbType.Int,4),
48 new SqlParameter("@Name",SqlDbType.VarChar,1024),
49 new SqlParameter("@Describe",SqlDbType.VarChar,4000),
50 new SqlParameter("@CreateDate",SqlDbType.DateTime)
51 };
52
53 SqlHelper.CacheParameters(SQL_INSERT_LOG, parms);
54 }
55
56 return parms;
57 }
58 }
59}
SQLHelper是放在Utility层中的通用工具类,跟Petshop中的SQLHelper是一个文件。只是添加了ConnectionString属性
一、IDAL 定义数据访问层接口
IDABase.cs
namespace IDAL
2namespace DataAccess
2namespace DataAccess
2{
3 public class LogDA : BaseDA
4 {
5 private const string SQL_GET_LOGID = "select top 1 id from Log order by id desc";
6 private const string SQL_INSERT_LOG = "insert into Log values(@ID,@Name,@Describe,@CreateDate)";
7 private const string SQL_GET_LOG = "select * from Log";
8 private const string SQL_GET_LOG_ID = "select * from Log where ID=";
9
10 public override int Add(DataSet ds)
11 {
12 int id = 0;
13 SqlParameter[] parms = GetLogParamerters();
14 parms = AssignParam(parms, ds);
15 conn.Open();
16 object objID = SqlHelper.ExecuteScalar(conn, CommandType.Text, SQL_GET_LOGID, null);
17 if (objID != null)
18 {
19 id = Convert.ToInt32(objID);
20 }
21 id++;
22 parms[0].Value = id;
23 SqlHelper.ExecuteNonQuery(conn, CommandType.Text, SQL_INSERT_LOG, parms);
24 conn.Close();
25 return id;
26 }
27
28 public override DataSet Get()
29 {
30 return base.GetData(SQL_GET_LOG);
31 }
32
33 public override DataSet Get(int id)
34 {
35 string sqlText = SQL_GET_LOG_ID + id;
36 return base.GetData(sqlText);
37 }
38
39 private SqlParameter[] GetLogParamerters()
40 {
41 SqlParameter[] parms = SqlHelper.GetCachedParameters(SQL_INSERT_LOG);
42
43 if (parms == null)
44 {
45 parms = new SqlParameter[]
46 {
47 new SqlParameter("@ID",SqlDbType.Int,4),
48 new SqlParameter("@Name",SqlDbType.VarChar,1024),
49 new SqlParameter("@Describe",SqlDbType.VarChar,4000),
50 new SqlParameter("@CreateDate",SqlDbType.DateTime)
51 };
52
53 SqlHelper.CacheParameters(SQL_INSERT_LOG, parms);
54 }
55
56 return parms;
57 }
58 }
59}
SQLHelper是放在Utility层中的通用工具类,跟Petshop中的SQLHelper是一个文件。只是添加了ConnectionString属性
相关文章推荐
- 面向接口开发的一个架构(一)
- 面向接口开发的一个架构(四)
- 面向接口开发的一个架构(三)
- 模块化设计,面向接口开发。不断重构设计和代码,一个大幅提高开发效率的好方法:不断重构既有代码和设计,为复用准备。同时也是优化。
- 面向服务架构~面向服务的API是统一接口还是具体业务使用具体的接口?
- MyEclipse开发一个webservice接口
- 基于OSGI的面向接口开发
- 一个电商项目的Web服务化改造4:方案和架构,通用接口的定义和实现
- 一个简单的用于嵌入式Linux开发的C调试日志打印接口
- 用cxf开发一个可以被安卓调用的接口
- 在一个项目中管理好基础架构和开发团队
- Apworks框架实战(四):使用Visual Studio开发面向经典分层架构的应用程序:从EasyMemo案例开始
- 如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好
- 设计和开发一个接口
- 软件架构的一个设想以及谈一下过去两年开发软件的过失
- 在一个项目中管理好基础架构和开发团队
- 一个互联网app的开发设计(技术选型和架构)
- 后端的一个刚毕业的小伙子老早完成了架构和服务端逻辑,接口洋洋洒洒列了出来。。。
- 为了给自己开发一个支持 fastcgi 的 http server 做准备。剥离了 nanoweb 的 fastcgi 接口部分代码。测试了下。 成功了
- VS2013开发一个简单的asmx接口程序