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

📄 dataaccess.cs

📁 kuiMsg是一款用.net C# 开发的即时消息开源软件,适合.net即时消息软件开发者用。 主要功能: 支持文件传输(p2p); 支持GIF动画表情( 彻底消除闪屏 :) );
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;

namespace LanMsg 
{
    public sealed class dataAccess
    {
        private dataAccess()
        {

        }

       #region 检查数据库中用户的密码是否与输入的有效
        /// <summary>
        /// 检查数据库中用户的密码是否与输入的有效 
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="password">用户密码</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool IsCorrectPassword(string userId, string MD5)//检查用户输入的密码是否有效密码
        {
            bool t = false;

            MD5 = IMLibrary.myMD5.get32Md5(MD5);
            object _password = IMLibrary.OleDb.DataAccess.ExSQLReField("MD5",string.Format( "select * from LoginUser where userId='{0}'",   userId) );

            if (_password != null && _password.ToString() == MD5)//如果密码正确
            {
                t = true;
            }
            return t;
        }
        #endregion

       #region 在数据库中写入用户或更改用户密码
        /// <summary>
        /// 在数据库中写入用户或更改用户密码
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="password">用户密码</param>
        /// <param name="autoLogion">用户是否自动登录</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool wirteUserOrPassword(string userId, string MD5  ,string  DES ,bool  autoLogin)
        {

            MD5  =  IMLibrary.myMD5.get32Md5(MD5 );//将密码MD5
            DES = IMLibrary.Security.EncryptDES(DES);

            int i = IMLibrary.OleDb.DataAccess.ExSQLR(string.Format("select * from LoginUser where userId='{0}'",  userId ));

            if (i > 0)//说明数据库中用户已经存在,只更新其用户密码与是否自动登录
                i = IMLibrary.OleDb.DataAccess.ExSQL(string.Format("update LoginUser set MD5='{0}',DES='{1}',autoLogin={2},LastLoginDate='{4}' where userId='{3}'", MD5, DES, autoLogin, userId,DateTime.Now.ToString()));
            else 
            {
                i = IMLibrary.OleDb.DataAccess.ExSQL(string.Format("insert into LoginUser(userId,MD5,DES,autoLogin) values('{0}','{1}','{2}', {3} )",userId,MD5 ,DES,autoLogin ));
            }
           
            return  true ;
        }
     

        /// <summary>
        /// 在数据库中写入用户或更改用户密码
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="password">用户密码</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool wirteUserOrPassword(string userId, string password)
        {

            password =  IMLibrary.myMD5.get32Md5(password);//将密码MD5

            int i = IMLibrary.OleDb.DataAccess.ExSQLR("select * from users where userId='" + userId + "'");

            if (i > 0)//说明数据库中用户已经存在,只更新其用户密码与是否自动登录
                i = IMLibrary.OleDb.DataAccess.ExSQL("update LoginUser set password='" + password + "' where userId='" + userId + "'");
            else
            {
                i = IMLibrary.OleDb.DataAccess.ExSQL("insert into LoginUser(userId,password) values('" + userId + "','" + password + "')");
            }

            return true ;
        }
        #endregion

       #region 获得服务器系统组织机构版本号
        /// <summary>
        /// 获得服务器系统组织机构版本号
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <returns>返回版本号</returns>
        public static int getDepVersion()
        {
            object obj = null;
            int i=0;
            obj = IMLibrary.OleDb.DataAccess.ExSQLReField("departmentVersion", "select * from [systemVersion]");
            if(obj!=null )
               i=Convert.ToInt32(obj) ;
           return i;
       }
       #endregion

       #region 更新本地数据库中组织机构版本号
        /// <summary>
       /// 更新本地数据库中组织机构版本号
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="serverVersion">服务器版本号</param>
       /// <returns>成功返回真,否则返回假</returns>
        //public static bool updateDepVersion(int serverVersion,string userId)
        //{
        //    bool t=false ;
        //    try
        //    {
        //        IMLibrary.OleDb.DataAccess.ExSQL("update  systemVersion set departmentVersion=" + serverVersion);
        //        t = true;
        //    }
        //    catch { }
        //    return t;
        //}

        /// <summary>
       /// 更新本地数据库中组织机构版本号
        /// </summary>
        /// <returns></returns>
        public static bool updateDepVersion( )
        {
            bool t = false;
            try
            {
                IMLibrary.OleDb.DataAccess.ExSQL("update  systemVersion set departmentVersion=" + FormAccess.ServerDepAndUserVersion.departmentVersion);
                t = true;
            }
            catch { }
            return t;
        }

       #endregion

       #region 获得服务器系统用户版本号
       /// <summary>
        /// 获得服务器系统用户版本号
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <returns>返回系统用户版本号</returns>
        public static int getUserVersion()
        {
            object obj = null;
            int i = 0;
            obj = IMLibrary.OleDb.DataAccess.ExSQLReField("userVersion", "select * from [systemVersion]");
            if (obj != null)
                i = Convert.ToInt32(obj);
            return i;
        }
       #endregion

       #region 更新本地数据库中用户信息版本号
        /// <summary>
        /// 更新本地数据库中组织机构版本号
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="serverVersion">服务器版本号</param>
        /// <returns>成功返回真,否则返回假</returns>
        //public static bool updateUserVersion(int serverVersion, string userId)
        //{
        //    bool t = false;
        //    try
        //    {
        //        IMLibrary.OleDb.DataAccess.ExSQL("update systemVersion set userVersion=" + serverVersion);
        //        t = true;
        //    }
        //    catch { }
        //    return t;
        //}

        /// <summary>
        /// 更新本地数据库中组织机构版本号
        /// </summary>
        /// <returns></returns>
        public static bool updateUserVersion()
        {
            bool t = false;
            try
            {
                IMLibrary.OleDb.DataAccess.ExSQL("update systemVersion set userVersion=" +  FormAccess.ServerDepAndUserVersion.usersVersion );
                t = true;
            }
            catch { }
            return t;
        }
        #endregion

       #region 向本地数据库中添加一个新用户
        /// <summary>
        /// 向本地数据库中添加一个新用户
        /// </summary>
        /// <param name="dep">部门信息类</param>
        /// <param name="userId">用户ID</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool insertUserToDB(IMLibrary.UserInfo user,string userId)
        {
            bool t=false ;
            try
            {
                object obj = IMLibrary.OleDb.DataAccess.ExSQLReField("userId", "select userId from systemUsers where userID='" + user.UserID  + "'");
                if (obj == null)//如果无此用户,则插入
                {
                    IMLibrary.OleDb.DataAccess.ExSQL("insert into systemUsers(userID,userName,DepID) values('" + user.UserID + "','" + user.userName + "'," + user.depId.ToString() + ")");
                    Console.Write("插入用户");
                }
                //else
                //{
                //    IMLibrary.OleDb.DataAccess.ExSQL("update systemUsers set userName='" + user.userName + "',DepId=" + user.depId.ToString() + " where userId='" + user.UserID  + "'");
                //    Console.Write("更新用户");
                //}
                    t = true;
            }
            catch { }
            return t;
        }
        #endregion

       #region 向本地数据库中添加一个新部门
        /// <summary>
        /// 向本地数据库中添加一个新部门
        /// </summary>
        /// <param name="dep">部门信息类</param>
        /// <param name="userId">用户ID</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool insertDepToDB(IMLibrary.Department dep, string userId)
        {
            bool t = false;
            try
            {
                IMLibrary.OleDb.DataAccess.ExSQL("insert into Department(depId,superiorId,depName) values(" + dep.depId.ToString() + "," + dep.superiorId.ToString() + ",'" + dep.depName + "')");
                t = true;
            }
            catch { }
            return t;
        }
        #endregion

       #region 清空数据库中组织机构数据
        /// <summary>
         /// 清空数据库中组织机构数据 
         /// </summary>
         /// <param name="userId">用户ID</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool delDepsFromDB(string userId)
        {
            bool t = false;
            try
            {
                IMLibrary.OleDb.DataAccess.ExSQL("delete * from Department");
                t = true;
            }
            catch { }
            return t;
        }
        #endregion

       #region 清空数据库中用户信息数据
        /// <summary>
        /// 清空数据库中用户信息数据 
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <returns>成功返回真,否则返回假</returns>
        public static bool delUsersFromDB(string userId)
        {
            bool t = false;
            try
            {
                IMLibrary.OleDb.DataAccess.ExSQL("delete * from systemUsers");
                t = true;
            }
            catch { }
            return t;
        }
        #endregion

       #region 添加记录到数据库
        public static void addMsgToDB(string msgContent, string sendID, string ReceiveID, string AssemblyVersion, string msgDateTime, string ImageInfo, bool IsNotNotice)//添加用户对话消息到数据库
        {
            try
            {
                string DBtable = "Notice";
                if (IsNotNotice)
                {
                    DBtable = "MsgRecord";
                }

                System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection( IMLibrary.OleDb.DataAccess.ConStr );

                System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("INSERT  INTO  [" + DBtable + "](msgContent,sendID,ReceiveID,AssemblyVersion,msgDateTime,ImageInfo) VALUES( @msgContent,@sendID,@ReceiveID ,@AssemblyVersion,@msgDateTime,@ImageInfo)", connection);

                System.Data.OleDb.OleDbParameter paramMsgContent = new System.Data.OleDb.OleDbParameter("@msgContent", System.Data.OleDb.OleDbType.LongVarChar);
                paramMsgContent.Value = msgContent;
                command.Parameters.Add(paramMsgContent);

                System.Data.OleDb.OleDbParameter paramSendID = new System.Data.OleDb.OleDbParameter("@sendID", System.Data.OleDb.OleDbType.Char);
                paramSendID.Value = sendID;
                command.Parameters.Add(paramSendID);

                System.Data.OleDb.OleDbParameter paramReceiveID = new System.Data.OleDb.OleDbParameter("@ReceiveID", System.Data.OleDb.OleDbType.Char);
                paramReceiveID.Value = ReceiveID;
                command.Parameters.Add(paramReceiveID);

                System.Data.OleDb.OleDbParameter paramAssemblyVersion = new System.Data.OleDb.OleDbParameter("@AssemblyVersion", System.Data.OleDb.OleDbType.Char);
                paramAssemblyVersion.Value = AssemblyVersion;
                command.Parameters.Add(paramAssemblyVersion);

                System.Data.OleDb.OleDbParameter paramMsgDateTime = new System.Data.OleDb.OleDbParameter("@msgDateTime", System.Data.OleDb.OleDbType.DBTimeStamp);
                paramMsgDateTime.Value = msgDateTime;
                command.Parameters.Add(paramMsgDateTime);


                System.Data.OleDb.OleDbParameter paramImageInfo = new System.Data.OleDb.OleDbParameter("@ImageInfo", System.Data.OleDb.OleDbType.LongVarChar);
                paramImageInfo.Value = ImageInfo;
                command.Parameters.Add(paramImageInfo);

                connection.Open();

                int numRowsAffected = command.ExecuteNonQuery();

                connection.Close();
            }
            catch//如果有错误发生
            {

            }
        }

        #endregion

       #region 删除不在服务器系统表内的本地数据库用户
        private void deleteUserNotInSystem(exUserCollention users) 
        {
            foreach (exUser user in users)
            {
                //if()
            }
        }
        #endregion
    }
}

⌨️ 快捷键说明

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