管理系统开发二: winforml登录界面sql数据查询和修改

版权声明:记录上工作中的一些问题 https://blog.csdn.net/m0_37583098/article/details/88547123

接着上一张:https://blog.csdn.net/m0_37583098/article/details/88546146

这篇主要是登录界面

我先将winform与数据库的常用方法 封装了一下 另添加创建类

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace csdn
{
  public  class  SQLHelper
    {
        public static string connString = "server=.;database=SMDB;user=sa;pwd=12345";
        public static bool OpenSQL()
        {
            SqlConnection conn = new SqlConnection(connString);
            conn.Open();
            try
            {
                return true;
            }
            catch (Exception)
            {
                return false;
                throw;
            }
        }
        /// <summary>
        /// 执行增、删、改操作
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int Update(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                int result = cmd.ExecuteNonQuery();
                return result;
            }
            catch (Exception ex)
            {
                //写入系统日志
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 获取单一结果查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static object GetSingleResult(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                object result = cmd.ExecuteScalar();
                return result;
            }
            catch (Exception ex)
            {
                //写入系统日志

                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 返回一个结果集的查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static SqlDataReader GetReader(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                //写入系统日志

                conn.Close();
                throw ex;
            }
        }
    }
}

2.登录数据库

3. 创建管理员表

2.然后回到VS  创建登录界面

添加脚本验证输入字符不为空

 //数据验证
            if (this.txtLoginId.Text.Trim().Length==0) {
                MessageBox.Show("请输入登录账号","登录提示");
                this.txtLoginId.Focus();
                return;
            }

4.创建数据访问类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Models
{
    public class Admin
    {
        /// <summary>
        /// 登录账号
        /// </summary>
        public int LoginId { get; set; }
        /// <summary>
        /// 用户名
        /// </summary>
        public string AdminName { get; set; }
        /// <summary>
        /// 登录密码
        /// </summary>
        public string LoginPwd { get; set; }
    }
}

5.//封装用户信息到用户对象

Admin objAdmin = new Admin()
            {
                LoginId = Convert.ToInt32(this.txtLoginId.Text.Trim()),
                LoginPwd = this.txtLoginPwd.Text.Trim()
            };

6.提交用户

 //提交用户信息
            try
            {
                objAdmin = objAdminService.AdminLogin(objAdmin);
                if (objAdmin == null)
                {
                    MessageBox.Show("登录账号或密码错误!!", "登录提示");
                }
                else {
                    //保存登录对象
                    sqlLog.WriteSQLLog(objAdmin .AdminName+ "用户登录!");
                    Program.currAdmin = objAdmin;
                    this.DialogResult = DialogResult.OK;
                }
            }
            catch (Exception ex) 
            {
                MessageBox.Show(ex.Message,"登录失败!!");
            }
        }
          

说一下 这里的objAdminService.AdminLogin();是在另外一个类里创建           命名空间啥的大家自己注意点改成自己的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using Models;
using System.Data.SqlServerCe;

namespace DAL
{
    
    /// <summary>
/// 管理员数据访问类
/// </summary>
    public class AdminService
    {
        /// <summary>
        /// 根据用户名或密码登录
        /// </summary>
        /// <param name="objAdmin"></param>
        /// <returns></returns>
        public Admin AdminLogin(Admin objAdmin)
        {
            string sql = "select AdminName from Admins where LoginId={0} and LoginPwd='{1}'";
            sql = string.Format(sql, objAdmin.LoginId, objAdmin.LoginPwd);
            try
            {
                SqlCeDataReader objReader = SQLHelper.GetReader(sql);
                if (objReader.Read())
                {
                    objAdmin.AdminName = objReader["AdminName"].ToString();
                }
                else
                {
                    objAdmin = null;
                }
                objReader.Close();
                return objAdmin;
            }
            catch (Exception ex)
            {
                throw new Exception("数据访问发生异常:" + ex.Message);
            }
        }

        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="loginid">登录ID</param>
        /// <param name="newPwd">新密码</param>
        /// <returns></returns>
        public int ModifyPwd(string loginid,string newPwd) {
            string sql = "update Admins set LoginPwd='{0}' where LoginId={1}";
            sql = string.Format(sql,newPwd,loginid);
            return SQLHelper.Update(sql);
        }
        /// <summary>
        /// 密码找回
        /// </summary>
        /// <param name="objAdmin"></param>
        /// <returns></returns>
        public Admin FindAdminpwd(string LoginId)
        {
            string sql = "select * from Admins where LoginId={0}";
            sql = string.Format(sql, LoginId);
            try
            {
                SqlDataReader objReader = SQLHelper.GetReader(sql);
                Admin Login = new Admin();
                if (objReader.Read())
                {
                    Login.AdminName = objReader["AdminName"].ToString();
                    Login.LoginPwd = objReader["LoginPwd"].ToString();
                }
                objReader.Close();
                return Login;
            }
            catch (Exception ex)
            {
                throw new Exception("数据访问发生异常:" + ex.Message);
            }
        }
    }
}

 SQLHelper.GetReader(sql);就是我这篇文章最先添加的那个方法

关闭按钮功能

//关闭
        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close(); 
        }

管理系统开发三: winforml查询界面  sql数据录入

猜你喜欢

转载自blog.csdn.net/m0_37583098/article/details/88547123
今日推荐