⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataprovider.cs

📁 其主要的功能就是,进行后台管理模块整合. 1)其可以支持多个应用,多个模块的权限管理. 2)支持Access和MsSql200/2005. 3)采用角色来进行权限的授权,每个用户可以属于多个角色
💻 CS
📖 第 1 页 / 共 3 页
字号:
/************************************************************************************
 *      Copyright (C) 2008 supesoft.com,All Rights Reserved						    *
 *      File:																		*
 *				DataProvider.cs                         	                		*
 *      Description:																*
 *				 获取记录值    	   	        						        	    *
 *      Author:																		*
 *				Lzppcc														        *
 *				Lzppcc@hotmail.com													*
 *				http://www.supesoft.com												*
 *      Finish DateTime:															*
 *				2007年8月6日														*
 *      History:																	*
 ***********************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Collections;
using FrameWork.Components;

namespace FrameWork.Data
{
    /// <summary>
    /// 获取记录值
    /// </summary>
    /// <param name="dr"></param>
    /// <returns></returns>
    public delegate object PopulateDelegate(IDataReader dr);

    /// <summary>
    /// 数据抽象类
    /// </summary>
    public abstract class DataProvider
    {
        
        #region "DataProvider Instance"

        private static DataProvider _defaultInstance = null;
        static DataProvider()
        {
            DataProvider dataProvider;
            if (Common.GetDBType == "MsSql")
                dataProvider = new SqlDataProvider();
            else if (Common.GetDBType == "Access")
                dataProvider = new AccessDataProvider();
            else if (Common.GetDBType == "Oracle")
                dataProvider = new OracleDataProvider();
            else
                throw new ApplicationException("数据库配置不对!");
            
            _defaultInstance = dataProvider;
        }

        /// <summary>
        /// 数据访问抽象层实例
        /// </summary>
        /// <returns></returns>
        public static DataProvider Instance()
        {

            return _defaultInstance;
        }

        /// <summary>
        /// 数据访问抽象层实例
        /// </summary>
        /// <param name="strConn">数据库连接字符串</param>
        /// <returns></returns>
        public static DataProvider Instance(string strConn)
        {
            return new SqlDataProvider(strConn);
        }

        #endregion

        #region "sys_Roles - DataProvider"
        /// <summary>
        /// 新增/删除/修改 sys_Roles
        /// </summary>
        /// <param name="fam">sys_RolesTable实体类</param>
        /// <returns>返回0操正常</returns>
        public abstract int sys_RolesInsertUpdate(sys_RolesTable fam);

        /// <summary>
        /// 返回sys_RolesTable实体类的ArrayList对象
        /// </summary>
        /// <param name="qp">查询类</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>sys_RolesTable实体类的ArrayList对象</returns>
        public abstract ArrayList sys_RolesList(QueryParam qp, out int RecordCount);

        /// <summary>
        /// 将记录集转为sys_RolesTable实体类
        /// </summary>
        /// <param name="dr">记录集</param>
        /// <returns>sys_RolesTable</returns>
        protected object Populatesys_Roles(IDataReader dr)
        {
            sys_RolesTable nc = new sys_RolesTable();

            if (!Convert.IsDBNull(dr["RoleID"])) nc.RoleID = Convert.ToInt32(dr["RoleID"]); // 角色ID自动ID
            if (!Convert.IsDBNull(dr["R_RoleName"])) nc.R_RoleName = Convert.ToString(dr["R_RoleName"]).Trim(); // 角色名称
            if (!Convert.IsDBNull(dr["R_Description"])) nc.R_Description = Convert.ToString(dr["R_Description"]).Trim(); // 角色介绍
            return nc;
        }
        #endregion

        #region "sys_User - DataProvider"
        /// <summary>
        /// 新增/删除/修改 sys_User
        /// </summary>
        /// <param name="fam">sys_UserTable实体类</param>
        /// <returns>返回0操正常</returns>
        public abstract int sys_UserInsertUpdate(sys_UserTable fam);

        /// <summary>
        /// 返回sys_UserTable实体类的ArrayList对象
        /// </summary>
        /// <param name="qp">查询类</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>sys_UserTable实体类的ArrayList对象</returns>
        public abstract ArrayList sys_UserList(QueryParam qp, out int RecordCount);

        /// <summary>
        /// 将记录集转为sys_UserTable实体类
        /// </summary>
        /// <param name="dr">记录集</param>
        /// <returns>sys_UserTable</returns>
        protected object Populatesys_User(IDataReader dr)
        {
            sys_UserTable nc = new sys_UserTable();

            if (!Convert.IsDBNull(dr["UserID"])) nc.UserID = Convert.ToInt32(dr["UserID"]); // 用户ID号
            if (!Convert.IsDBNull(dr["U_LoginName"])) nc.U_LoginName = Convert.ToString(dr["U_LoginName"]).Trim(); // 登陆名
            if (!Convert.IsDBNull(dr["U_Password"])) nc.U_Password = Convert.ToString(dr["U_Password"]).Trim(); // 密码md5加密字符
            if (!Convert.IsDBNull(dr["U_CName"])) nc.U_CName = Convert.ToString(dr["U_CName"]).Trim(); // 中文姓名
            if (!Convert.IsDBNull(dr["U_EName"])) nc.U_EName = Convert.ToString(dr["U_EName"]).Trim(); // 英文名
            if (!Convert.IsDBNull(dr["U_GroupID"])) nc.U_GroupID = Convert.ToInt32(dr["U_GroupID"]); // 部门ID号与sys_Group表中GroupID关联
            if (!Convert.IsDBNull(dr["U_Email"])) nc.U_Email = Convert.ToString(dr["U_Email"]).Trim(); // 电子邮件
            if (!Convert.IsDBNull(dr["U_Type"])) nc.U_Type = Convert.ToInt32(dr["U_Type"]); // 用户类型0:超级用户1:普通用户
            if (!Convert.IsDBNull(dr["U_Status"])) nc.U_Status = Convert.ToInt32(dr["U_Status"]); // 当前状态0:正常 1:禁止
            if (!Convert.IsDBNull(dr["U_Licence"])) nc.U_Licence = Convert.ToString(dr["U_Licence"]).Trim(); // 用户序列号
            if (!Convert.IsDBNull(dr["U_Mac"])) nc.U_Mac = Convert.ToString(dr["U_Mac"]).Trim(); // 锁定机器硬件地址
            if (!Convert.IsDBNull(dr["U_Remark"])) nc.U_Remark = Convert.ToString(dr["U_Remark"]).Trim(); // 备注说明
            if (!Convert.IsDBNull(dr["U_IDCard"])) nc.U_IDCard = Convert.ToString(dr["U_IDCard"]).Trim(); // 身份证号码
            if (!Convert.IsDBNull(dr["U_Sex"])) nc.U_Sex = Convert.ToInt32(dr["U_Sex"]); // 性别1:男0:女
            if (!Convert.IsDBNull(dr["U_BirthDay"])) nc.U_BirthDay = Convert.ToDateTime(dr["U_BirthDay"]); // 出生日期
            if (!Convert.IsDBNull(dr["U_MobileNo"])) nc.U_MobileNo = Convert.ToString(dr["U_MobileNo"]).Trim(); // 手机号
            if (!Convert.IsDBNull(dr["U_UserNO"])) nc.U_UserNO = Convert.ToString(dr["U_UserNO"]).Trim(); // 员工编号
            if (!Convert.IsDBNull(dr["U_WorkStartDate"])) nc.U_WorkStartDate = Convert.ToDateTime(dr["U_WorkStartDate"]); // 到职日期
            if (!Convert.IsDBNull(dr["U_WorkEndDate"])) nc.U_WorkEndDate = Convert.ToDateTime(dr["U_WorkEndDate"]); // 离职日期
            if (!Convert.IsDBNull(dr["U_CompanyMail"])) nc.U_CompanyMail = Convert.ToString(dr["U_CompanyMail"]).Trim(); // 公司邮件地址
            if (!Convert.IsDBNull(dr["U_Title"])) nc.U_Title = Convert.ToInt32(dr["U_Title"]); // 职称与应用字段关联
            if (!Convert.IsDBNull(dr["U_Extension"])) nc.U_Extension = Convert.ToString(dr["U_Extension"]).Trim(); // 分机号
            if (!Convert.IsDBNull(dr["U_HomeTel"])) nc.U_HomeTel = Convert.ToString(dr["U_HomeTel"]).Trim(); // 家中电话
            if (!Convert.IsDBNull(dr["U_PhotoUrl"])) nc.U_PhotoUrl = Convert.ToString(dr["U_PhotoUrl"]).Trim(); // 用户照片网址
            if (!Convert.IsDBNull(dr["U_DateTime"])) nc.U_DateTime = Convert.ToDateTime(dr["U_DateTime"]); // 操作时间
            if (!Convert.IsDBNull(dr["U_LastIP"])) nc.U_LastIP = Convert.ToString(dr["U_LastIP"]).Trim(); // 最后访问IP
            if (!Convert.IsDBNull(dr["U_LastDateTime"])) nc.U_LastDateTime = Convert.ToDateTime(dr["U_LastDateTime"]); // 最后访问时间
            if (!Convert.IsDBNull(dr["U_ExtendField"])) nc.U_ExtendField = Convert.ToString(dr["U_ExtendField"]).Trim(); // 扩展字段
            return nc;
        }
        #endregion

        #region "sys_UserRoles - DataProvider"
        /// <summary>
        /// 新增/删除/修改 sys_UserRoles
        /// </summary>
        /// <param name="fam">sys_UserRolesTable实体类</param>
        /// <returns>返回0操正常</returns>
        public abstract int sys_UserRolesInsertUpdate(sys_UserRolesTable fam);

        /// <summary>
        /// 返回sys_UserRolesTable实体类的ArrayList对象
        /// </summary>
        /// <param name="qp">查询类</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>sys_UserRolesTable实体类的ArrayList对象</returns>
        public abstract ArrayList sys_UserRolesList(QueryParam qp, out int RecordCount);

        /// <summary>
        /// 将记录集转为sys_UserRolesTable实体类
        /// </summary>
        /// <param name="dr">记录集</param>
        /// <returns>sys_UserRolesTable</returns>
        protected object Populatesys_UserRoles(IDataReader dr)
        {
            sys_UserRolesTable nc = new sys_UserRolesTable();

            if (!Convert.IsDBNull(dr["R_UserID"])) nc.R_UserID = Convert.ToInt32(dr["R_UserID"]); // 用户ID与sys_User表中UserID相关
            if (!Convert.IsDBNull(dr["R_RoleID"])) nc.R_RoleID = Convert.ToInt32(dr["R_RoleID"]); // 用户所属角色ID与Sys_Roles关联
            return nc;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -