一、登錄模塊
這是幾乎所有信息類型的網(wǎng)站必備的模塊,之前也寫過用ajax登錄。這邊沒有這個(gè)需求,就用簡(jiǎn)單的方法實(shí)現(xiàn)。
首先建立數(shù)據(jù)表,表結(jié)構(gòu)如下:
CREATE TABLE [dbo].[Login](
[id] [int] IDENTITY(1,1) NOT NULL,
[username] [varchar](20) NULL,
[userpassword] [varchar](20) NULL
)
id為標(biāo)志,username為用戶名,userpassword為用戶密碼。
然后打造Model層:
新建IDBHelper.cs接口,代碼如下:
using System;
using System.Data.Common;
using System.Data;
namespace SqlServerDAL
{
interface IDBHelper
{
/// <summary>
/// 執(zhí)行 Transact-SQL 語句并返回受影響的行數(shù)。
/// </summary>
int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 在事務(wù)中執(zhí)行 Transact-SQL 語句并返回受影響的行數(shù)。
/// </summary>
int ExecuteNonQuery(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 在事務(wù)中執(zhí)行查詢,返回DataSet
/// </summary>
DataSet ExecuteQuery(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 執(zhí)行查詢,返回DataSet
/// </summary>
DataSet ExecuteQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 在事務(wù)中執(zhí)行查詢,返回DataReader
/// </summary>
DbDataReader ExecuteReader(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 執(zhí)行查詢,返回DataReader
/// </summary>
DbDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 在事務(wù)中執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列。忽略其他列或行。
/// </summary>
object ExecuteScalar(DbTransaction trans, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列。忽略其他列或行。
/// </summary>
object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] cmdParms);
/// <summary>
/// 分頁(yè)獲取數(shù)據(jù)
/// </summary>
/// <param name="connectionString">連接字符串</param>
/// <param name="tblName">表名</param>
/// <param name="fldName">字段名</param>
/// <param name="pageSize">頁(yè)大小</param>
/// <param name="pageIndex">第幾頁(yè)</param>
/// <param name="fldSort">排序字段</param>
/// <param name="fldDir">升序{False}/降序(True)</param>
/// <param name="condition">條件(不需要where)</param>
DbDataReader GetPageList(string connectionString, string tblName, int pageSize, int pageIndex, string fldSort, bool fldDir, string condition);
/// <summary>
/// 得到數(shù)據(jù)條數(shù)
/// </summary>
/// <param name="tblName">表名</param>
/// <param name="condition">條件(不需要where)</param>
/// <returns>數(shù)據(jù)條數(shù)</returns>
int GetCount(string connectionString, string tblName, string condition);
}
}
然后實(shí)現(xiàn)這個(gè)接口:類DBHelper,代碼見附件
其中類的構(gòu)造函數(shù)中指定使用的數(shù)據(jù)庫(kù)服務(wù)器名及用戶名和密碼。
當(dāng)然,也要提供 SqlHelper.cs類,附下載地址
接下來就是實(shí)現(xiàn)BLL,業(yè)務(wù)邏輯層的Login,代碼如下:
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Web;
namespace BLL
{
/// <summary>
/// 業(yè)務(wù)邏輯類 Login
/// </summary>
public class Login
{
private readonly SqlServerDAL.Login dal = new SqlServerDAL.Login();
public Login()
{ }
/// <summary>
/// 增加一條數(shù)據(jù)
/// </summary>
public void Add(Model.Login model)
{
dal.Add(model);
}
/// <summary>
/// 更新一條數(shù)據(jù)
/// </summary>
public void Update(Model.Login model)
{
dal.Update(model);
}
/// <summary>
/// 刪除一條數(shù)據(jù)
/// </summary>
public void Delete(int id)
{
dal.Delete(id);
}
/// <summary>
/// 是否存在該記錄
/// </summary>
public bool Exists(string username)
{
return dal.Exists(username);
}
/// <summary>
/// 得到一個(gè)對(duì)象實(shí)體
/// </summary>
public Model.Login GetModel(string username)
{
return dal.GetModel(username);
}
/// <summary>
/// 獲得泛型數(shù)據(jù)列表
/// </summary>
public List<Model.Login> GetList(out long count)
{
return dal.GetList(out count);
}
}
}
本文導(dǎo)航
- 第1頁(yè): 首頁(yè)
- 第2頁(yè): 登錄模塊
- 第3頁(yè): 實(shí)現(xiàn)website里面的登錄模塊