欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.net三層結(jié)構(gòu)初探分析

 更新時(shí)間:2008年09月08日 20:42:54   作者:  
最近開(kāi)始對(duì)架構(gòu)開(kāi)始了研究,當(dāng)然由于水平不夠,先研究了“簡(jiǎn)單的三層結(jié)構(gòu)”,至于“抽象工廠模式”放后面來(lái)研究吧!

DBUtility--DbHelperOleDbP.cs(數(shù)據(jù)基類存儲(chǔ)過(guò)程) 
復(fù)制代碼 代碼如下:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace MyCms.DBUtility
{
public partial class DbHelperOleDb
{

/// <summary>
/// 執(zhí)行SQL語(yǔ)句,返回影響的記錄數(shù)
/// </summary>
public static int ExecuteSql(string strSql, params OleDbParameter[] parms)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
try
{
PrepareCmd(cmd, conn, null, strSql, parms);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;
}
catch (OleDbException E)
{
throw new Exception(E.Message);
}
}
}
}


/// <summary>
/// 執(zhí)行一條計(jì)算查詢結(jié)果語(yǔ)句,返回查詢結(jié)果(object)。
/// </summary>
/// <param name="SQLString">計(jì)算查詢結(jié)果語(yǔ)句</param>
/// <returns>查詢結(jié)果(object)</returns>
public static object GetSingle(string SQLString, params OleDbParameter[] cmdParms)
{
using (OleDbConnection connection = new OleDbConnection(ConnectionString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
try
{
PrepareCmd(cmd, connection, null, SQLString, cmdParms);
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
}
}
}

/// <summary>
/// 執(zhí)行查詢語(yǔ)句,返回OleDbDataReader
/// </summary>
/// <param name="strSQL">查詢語(yǔ)句</param>
/// <returns>OleDbDataReader</returns>
public static OleDbDataReader ExecuteReader(string SQLString, params OleDbParameter[] cmdParms)
{
OleDbConnection connection = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand();
try
{
PrepareCmd(cmd, connection, null, SQLString, cmdParms);
OleDbDataReader myReader = cmd.ExecuteReader();
cmd.Parameters.Clear();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}

}

/// <summary>
/// 執(zhí)行查詢語(yǔ)句,返回DataSet
/// </summary>
/// <param name="SQLString">查詢語(yǔ)句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString, params OleDbParameter[] cmdParms)
{
using (OleDbConnection connection = new OleDbConnection(ConnectionString))
{
OleDbCommand cmd = new OleDbCommand();
PrepareCmd(cmd, connection, null, SQLString, cmdParms);
using (OleDbDataAdapter da = new OleDbDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch (System.Data.OleDb.OleDbException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}
}

///添加存儲(chǔ)過(guò)程參數(shù)
private static void PrepareCmd(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, string cmdText, OleDbParameter[] cmdParms)
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
{
cmd.Transaction = trans;
}
cmd.CommandType = CommandType.Text;
if (cmdParms != null)
{
foreach (OleDbParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}

/// <summary>
/// 執(zhí)行多條SQL語(yǔ)句,實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)。
/// </summary>
/// <param name="SQLStringList">SQL語(yǔ)句的哈希表(key為sql語(yǔ)句,value是該語(yǔ)句的OleDbParameter[])</param>
public static void ExecuteSqlTran(Hashtable SQLStringList)
{
using (OleDbConnection conn = new OleDbConnection(ConnectionString))
{
conn.Open();
using (OleDbTransaction trans = conn.BeginTransaction())
{
OleDbCommand cmd = new OleDbCommand();
try
{
//循環(huán)
foreach (DictionaryEntry myDE in SQLStringList)
{
string cmdText = myDE.Key.ToString();
OleDbParameter[] cmdParms = (OleDbParameter[])myDE.Value;
PrepareCmd(cmd, conn, trans, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();

trans.Commit();
}
}
catch
{
trans.Rollback();
throw;
}
}
}
}

}
}

DBUtility--DbHelperOleDbS.cs(數(shù)據(jù)基類具體實(shí)現(xiàn)) 折疊展開(kāi)C#復(fù)制代碼
using System;
using System.Data;
using System.Data.OleDb;
using System.Text;

namespace MyCms.DBUtility
{
public partial class DbHelperOleDb
{
//根據(jù)條件判斷是否存在
public static bool Exists(string strSql, params OleDbParameter[] parms)
{
object obj = DbHelperOleDb.GetSingle(strSql, parms);
int result;
if ((Equals(obj, null)) || (Equals(obj, DBNull.Value)))
{
result = 0;
}
else
{
result = int.Parse(obj.ToString());
}
if (result == 0)
{
return false;
}
else
{
return true;
}
}


}
}
DAL--admin.cs 折疊展開(kāi)C#復(fù)制代碼
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using MyCms.DBUtility;

namespace MyCms.DAL
{
public class admin
{
public admin()
{
}

/// <summary>
/// 是否存在該記錄
/// </summary>
public bool Exists(string sname)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from admin");
strSql.Append(" where sname = @sname");
OleDbParameter[] parameters = {
new OleDbParameter("@sname",OleDbType.VarChar,50)};
parameters[0].Value = sname;
return DbHelperOleDb.Exists(strSql.ToString(), parameters);
}

/// <summary>
/// 增加一條記錄
/// </summary>
public void Add(MyCms.MODEL.admin model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into admin(");
strSql.Append("sname,spassword)");
strSql.Append(" values (");
strSql.Append("@sname,@spassword)");
OleDbParameter[] parameters = {
new OleDbParameter("@sname", OleDbType.VarChar,50),
new OleDbParameter("@spassword", OleDbType.VarChar,50)};
parameters[0].Value = model.sname;
parameters[1].Value = model.spassword;

DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);
}

/// <summary>
/// 更新一條數(shù)據(jù)
/// </summary>
public void Update(MyCms.MODEL.admin model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update admin set ");
strSql.Append("sname=@sname,");
strSql.Append("spassword=@spassword");
strSql.Append(" where sname=@sname and spassword=@spassword ");
OleDbParameter[] parameters = {
new OleDbParameter("@sname", OleDbType.VarChar,50),
new OleDbParameter("@spassword", OleDbType.VarChar,50)};
parameters[0].Value = model.sname;
parameters[1].Value = model.spassword;

DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);
}

/// <summary>
/// 刪除一條數(shù)據(jù)
/// </summary>
public void Delete(int id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from admin ");
strSql.Append(" where id=@id ");
OleDbParameter[] parameters = {
new OleDbParameter("@id", OleDbType.Integer,4)};
parameters[0].Value = id;

DbHelperOleDb.ExecuteSql(strSql.ToString(), parameters);
}

/// 獲取數(shù)據(jù)列表
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select id,sname,spassword from admin ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperOleDb.Query(strSql.ToString());
}
}
}
BLL--admin.cs 折疊展開(kāi)C#復(fù)制代碼
using System;
using System.Data;


namespace MyCms.BLL
{
public class admin
{
private readonly MyCms.DAL.admin dal = new MyCms.DAL.admin();

public admin() { }

/// <summary>
/// 是否存在該記錄
/// </summary>
public bool Exists(string sname)
{
return dal.Exists(sname);
}

/// <summary>
/// 增加一條記錄
/// </summary>
public void Add(MyCms.MODEL.admin model)
{
dal.Add(model);
}

/// <summary>
/// 更新一條記錄
/// </summary>
public void Update(MyCms.MODEL.admin model)
{
dal.Update(model);
}

/// <summary>
/// 刪除一條記錄
/// </summary>
public void Delete(int id)
{
dal.Delete(id);
}

/// <summary>
/// 獲取數(shù)據(jù)列表
/// </summary>

public DataSet GetList(string strWhere)
{
return dal.GetList(strWhere);
}

/// <summary>
/// 獲得數(shù)據(jù)列表
/// </summary>
public DataSet GetAllList()
{
return GetList("");
}
}
}
MODEL--admin.cs 折疊展開(kāi)C#復(fù)制代碼
using System;
using System.Collections.Generic;
using System.Text;

namespace MyCms.MODEL
{
public class admin
{
private int? _id;
private string _sname;
private string _spassword;

public int? id
{
set { _id = value; }
get { return _id; }
}

public string sname
{
set { _sname = value; }
get { return _sname; }
}

public string spassword
{
set { _spassword = value; }
get { return _spassword; }
}
}
}
default.aspx 折疊展開(kāi)XML/HTML復(fù)制代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WEB._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td height="25" width="30%" align="right">
姓名 </td>
<td height="25" width="*" align="left">
<asp:TextBox id="txtsname" runat="server" Width="200px"></asp:TextBox>
</td></tr>
<tr>
<td height="25" width="30%" align="right">
密碼 </td>
<td height="25" width="*" align="left">
<asp:TextBox id="txtspassword" runat="server" Width="200px"></asp:TextBox>
</td></tr>
<tr>
<td height="25" colspan="2"><div align="center">
<asp:Button ID="btnAdd" runat="server" Text="· 提交 ·" OnClick="btnAdd_Click" />
</div></td></tr>
</table>
</div>
<br />
數(shù)據(jù)顯示:
<asp:Repeater ID="rptAdmin" runat="server">
<HeaderTemplate>
<table border="1">
<tr><th>ID</th><th>帳戶</th><th>密碼</th></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("id") %></td>
<td><%#Eval("sname") %></td>
<td><%#Eval("spassword") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
default.aspx.cs 折疊展開(kāi)C#復(fù)制代碼
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MyCms.BLL;
using MyCms.MODEL;

///阿會(huì)楠的練習(xí) sosuo8.com
namespace WEB
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bind();
}

/// 添加記錄
protected void btnAdd_Click(object sender, EventArgs e)
{
string sname = this.txtsname.Text;
string spassword = this.txtspassword.Text;
MyCms.MODEL.admin model = new MyCms.MODEL.admin();
model.sname = sname;
model.spassword = spassword;
MyCms.BLL.admin bll = new MyCms.BLL.admin();
bll.Add(model);
bind();
}

/// 綁定數(shù)據(jù)
protected void bind()
{
MyCms.BLL.admin admin = new MyCms.BLL.admin();
this.rptAdmin.DataSource = admin.GetAllList();
this.rptAdmin.DataBind();
}
}
}
注明:大部分代碼都來(lái)自“動(dòng)軟.Net代碼生成器”
net_sancen.rar

相關(guān)文章

最新評(píng)論