麻烦给看下详细代码

解决方案 »

  1.   

    1,实体定义//===============================================================================
    // This File Created by [kkun] at 2009/6/8 11:07:39
    // Msn:[email protected]
    // Desc:会员实体分部类
    //===============================================================================
    using System;
    using System.ComponentModel;
    using EtmcMsg.Core.Base;
    using EtmcMsg.Core.Util;
    namespace EtmcMsg.Core.Entity {
        public partial class UserInfoEntity : EntityBase {

    #region 单例模式
            public static readonly UserInfoEntity Empty = new UserInfoEntity();
            #endregion        #region 默认构造函数
            public UserInfoEntity() { }
            #endregion        #region Field
    private int userId;
    private string userEmail;
    private string userName;
    private string userPass;
    private string userSigner;
    private DateTime userRegDate = DateTime.MinValue;
    private DateTime userLastLoginDate = DateTime.MinValue;
            #endregion        #region Property
    [Description( "用户编号" )]
    public int UserId {
                get { return userId; }
                set { userId = value; }
            }
            
    [Description( "用户邮箱" )]
    public string UserEmail {
                get { return userEmail; }
                set { userEmail = value; }
            }
            
    [Description( "用户名" )]
    public string UserName {
                get { return userName; }
                set { userName = value; }
            }
            
    public string UserPass {
                get { return userPass; }
                set { userPass = value; }
            }
            
    public string UserSigner {
                get { return userSigner; }
                set { userSigner = value; }
            }
            
    public DateTime UserRegDate {
                get { return userRegDate; }
                set { userRegDate = value; }
            }
            
    public DateTime UserLastLoginDate {
                get { return userLastLoginDate; }
                set { userLastLoginDate = value; }
            }
             #region IsNullOrEmpty
            /// <summary>
            /// 判断实体是否为空
            /// </summary>
            /// <param name="e"></param>
            /// <returns></returns>
            public static bool IsNullOrEmpty( UserInfoEntity e ) {
                return e == null || e == Empty;
            }
            #endregion
            #endregion
        }
    }
      

  2.   

    2,BLL//===============================================================================
    // This File Created by [kkun] at 2009/6/8 11:07:39
    // Msn:[email protected]
    // Desc:会员业务逻辑层分部类
    //===============================================================================
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using EtmcMsg.Core.Base;
    using EtmcMsg.Core.Data;
    using EtmcMsg.Core.Entity;
    using EtmcMsg.Core.Interface;
    using EtmcMsg.Core.Util;
    namespace EtmcMsg.Core.BLL {
        public partial class UserInfoBLL : BLLBase<IList<UserInfoEntity>, UserInfoEntity> {        #region 单例
            [Description( "本类默认实例" ), ReadOnly( true )]
            public static readonly UserInfoBLL Singleton = new UserInfoBLL();        [Description( "DAL辅助类" ), ReadOnly( true )]
            private static readonly UserInfoDAL db = new UserInfoDAL();
            #endregion        #region 默认构造函数
            /// <summary>
            /// 默认构造函数
            /// </summary>
            [Description( "默认构造函数" )]
            public UserInfoBLL() { }
            #endregion        #region 接口实现
            public override IList<UserInfoEntity> Select() {
                try {
                    using( IDataReader reader = db.Select() ) {
                        return Translate( reader );
                    }
                } catch( Exception exp ) {
                    throw exp;
                }
            }        public override IList<UserInfoEntity> Select( UserInfoEntity e ) {
                try {
                    using( IDataReader reader = db.Select( e ) ) {
                        return Translate( reader );
                    }
                } catch( Exception exp ) {
                    throw exp;
                }
            }        public override bool Update( UserInfoEntity e ) {
                try {
                    return db.Update( e );
                } catch( Exception exp ) {
                    throw exp;
                }
            }        public override int Insert( UserInfoEntity e ) {
                try {
                    return db.Insert( e );
                } catch( Exception exp ) {
                    throw exp;
                }
            }        public override bool Delete( UserInfoEntity e ) {
                try {
                    return db.Delete( e );
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            #endregion
            
            #region translate
            /// <summary>
            /// 解析reader
            /// 注意查询顺序不能错
            /// </summary>
            /// <param name="reader">源数据</param>
            /// <returns>实体集合</returns>
            public override IList<UserInfoEntity> Translate( IDataReader reader ) {
                IList<UserInfoEntity> list = new List<UserInfoEntity>();
                if( reader != null && !reader.IsClosed ) {
                    while( reader.Read() ) {
                        UserInfoEntity info = new UserInfoEntity();
                        int i = -1;
                        if( !reader.IsDBNull( ++i ) ) info.UserId = reader.GetInt32( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserEmail = reader.GetString( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserName = reader.GetString( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserPass = reader.GetString( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserSigner = reader.GetString( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserRegDate = reader.GetDateTime( i );
                        if( !reader.IsDBNull( ++i ) ) info.UserLastLoginDate = reader.GetDateTime( i );
                        list.Add( info );
                    }
                }
                return list;
            }
            #endregion
        }
    }
      

  3.   

    3,DAL   //===============================================================================
    // This File Created by [kkun] at 2009/6/8 11:07:39
    // Msn:[email protected]
    // Desc:会员数据访问层分部类
    //===============================================================================
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;
    using System.Data.SqlClient;
    using EtmcMsg.Core.Base;
    using EtmcMsg.Core.Entity;
    using EtmcMsg.Core.Interface;
    using EtmcMsg.Core.Util;
    namespace EtmcMsg.Core.Data {
        public partial class UserInfoDAL : DALBase<DbDataReader, UserInfoEntity> {
        
    #region 单例模式
            public static UserInfoDAL Singleton = new UserInfoDAL();
            #endregion
        
            #region field
            DataBaseOperator db;
            #endregion        #region 默认构造函数
            public UserInfoDAL() {
                db = new DataBaseOperator();
            }
            #endregion        #region Insert
            /// <summary>
            /// 新增操作
            /// </summary>
            /// <param name="e">UserInfoEntity实体</param>
            /// <returns>自增编号</returns>
            public override int Insert( UserInfoEntity e ) {
                //构造SQL语句
                string sql = "Msg_UserInfo_Insert";            //构造参数
                SqlParameter[] parameters = { 
    new SqlParameter("@UserEmail",SqlDbType.NVarChar),
    new SqlParameter("@UserName",SqlDbType.NVarChar),
    new SqlParameter("@UserPass",SqlDbType.NVarChar),
    new SqlParameter("@UserSigner",SqlDbType.NVarChar),
    new SqlParameter("@UserRegDate",SqlDbType.DateTime),
    new SqlParameter("@UserLastLoginDate",SqlDbType.DateTime),
    };

    //为参数赋值
    int i = 0;
                parameters[ i++ ].Value = e.UserEmail;
                parameters[ i++ ].Value = e.UserName;
                parameters[ i++ ].Value = e.UserPass;
                parameters[ i++ ].Value = e.UserSigner;
    parameters[ i++ ].Value = e.UserRegDate == DateTime.MinValue ? (object)null : (object)e.UserRegDate;;
    parameters[ i++ ].Value = e.UserLastLoginDate == DateTime.MinValue ? (object)null : (object)e.UserLastLoginDate;;            //执行SQL语句
                try {
                    object obj = db.ExecuteScalar( CommandType.StoredProcedure, sql, parameters ) ?? "-1";
                    int Identity;
                    if( int.TryParse( obj.ToString(), out Identity ) )
                        return Identity;
                    return -1;
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            #endregion        #region Update
            /// <summary>
            /// 更新操作
            /// </summary>
            /// <param name="e">UserInfoEntity实体</param>
            /// <returns>成功或失败</returns>
            public override bool Update( UserInfoEntity e ) {
                //构造SQL语句
                string sql = "Msg_UserInfo_Update";            //构造参数
                SqlParameter[] parameters = { 
    new SqlParameter("@UserId",SqlDbType.Int),
    new SqlParameter("@UserEmail",SqlDbType.NVarChar),
    new SqlParameter("@UserName",SqlDbType.NVarChar),
    new SqlParameter("@UserPass",SqlDbType.NVarChar),
    new SqlParameter("@UserSigner",SqlDbType.NVarChar),
    new SqlParameter("@UserRegDate",SqlDbType.DateTime),
    new SqlParameter("@UserLastLoginDate",SqlDbType.DateTime),
    };

    //为参数赋值
    int i = 0;
                parameters[ i++ ].Value = e.UserEmail;
                parameters[ i++ ].Value = e.UserName;
                parameters[ i++ ].Value = e.UserPass;
                parameters[ i++ ].Value = e.UserSigner;
    parameters[ i++ ].Value = e.UserRegDate == DateTime.MinValue ? (object)null : (object)e.UserRegDate;;
    parameters[ i++ ].Value = e.UserLastLoginDate == DateTime.MinValue ? (object)null : (object)e.UserLastLoginDate;;            //执行SQL语句
                try {
                    return db.ExecuteNonQuery( CommandType.StoredProcedure, sql, parameters ) > 0;
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            #endregion        #region Delete
            /// <summary>
            /// 删除操作
            /// </summary>
            /// <param name="e">UserInfoEntity参数实体</param>
            /// <returns>成功失败</returns>
            public override bool Delete( UserInfoEntity e ) {
                //构造SQL语句
                string sql = "DELETE FROM [UserInfo] WHERE UserId=@UserId ";            //构造参数
                SqlParameter[] parameters = {
                    new SqlParameter("@UserId",SqlDbType.Int),
                };            //为参数传值
                int i = 0;
                parameters[ i++ ].Value = e.UserId;            //执行SQL语句
                try {
                    return db.ExecuteNonQuery( CommandType.Text, sql, parameters ) > 0;
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            #endregion        #region Select
            /// <summary>
            /// 查询操作
            /// </summary>
            /// <param name="e">UserInfoEntity参数实体</param>
            /// <returns>IDataReader</returns>
            public override DbDataReader Select( UserInfoEntity e ) {
                //构造SQL语句
                string sql = "SELECT UserId,UserEmail,UserName,UserPass,UserSigner,UserRegDate,UserLastLoginDate FROM [UserInfo] WHERE UserId=@UserId ";            //构造参数
                SqlParameter[] parameters = {
                    new SqlParameter("@UserId",SqlDbType.Int),
                };            //为参数传值
                int i = 0;
                parameters[ i++ ].Value = e.UserId;            //执行SQL语句
                try {
                    return db.ExecuteReader( CommandType.Text, sql, parameters );
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            
            /// <summary>
            /// 查询所有
            /// </summary>
            /// <returns></returns>
            public override DbDataReader Select() {
                //构造SQL语句
                string sql = "SELECT UserId,UserEmail,UserName,UserPass,UserSigner,UserRegDate,UserLastLoginDate FROM [UserInfo] WHERE 1=1 ";            //执行SQL语句
                try {
                    return db.ExecuteReader( CommandType.Text, sql, null );
                } catch( Exception exp ) {
                    throw exp;
                }
            }
            #endregion
            
        }
    }