您的位置:首页 > 运维架构 > 网站架构

面向接口开发的一个架构(二)

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属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐