WinForm(C#):ログインページの実装+ SQLServerデータベース接続モード

ログインページの身元調査

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace MES_SimpleDemo
{
    
    
    public partial class Login : Form
    {
    
    
        public Login()
        {
    
    
            InitializeComponent();
        }
 
        /**登录验证*/
        private void button1_Click(object sender, EventArgs e)
        {
    
    
            //获取文本框中的值
            string username = this.textBox1.Text;
            string password = this.textBox2.Text;
 
            if(username.Equals("") || password.Equals(""))//用户名或密码为空
            {
    
    
                MessageBox.Show("用户名或密码不能为空");
            }
            else//用户名或密码不为空
            {
    
    
                //到数据库中验证
                string selectSql = "select * from tb_user where username='"+username+"' and password='"+password+"'";
                SqlHelp sqlHelper = new SqlHelp();
                int count = sqlHelper.SqlServerRecordCount(selectSql);//返回符合的结果数量
                if (count > 0)//如果信息>0则说明匹配成功
                {
    
    
                    MessageBox.Show("信息验证成功");
 
                    //将当前登录日志信息写入数据库(待开发...)
 
                    //跳转到主页面
                    Main view = new Main();//创建一个新页面
                    view.Show();//显示新页面
                    this.Hide();//隐藏当前页面
 
                }
                else
                {
    
    
                    MessageBox.Show("用户名或密码错误");
                }
            }
 
 
 
 
        }
 
        /**输入框重置*/
        private void button2_Click(object sender, EventArgs e)
        {
    
    
            this.textBox1.Text = "";
            this.textBox2.Text = "";
        }
    }
}

データベース接続コアコード

using System;
using System.Data;
using System.Configuration;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.IO;
using System.Net.Mail;
using System.Text;
 
/// <summary>
///主要包括sqlHelp数据库访问助手类 和常用的一些函数定义
///</summary>
///SqlHelp数据库访问助手
///1.public static void OpenConn()                                  //打开数据库连接
///2.public static void CloseConn()                                 //关闭数据库连接
///3.public static SqlDataReader getDataReaderValue(string sql)     //读取数据
///4.public DataSet GetDataSetValue(string sql, string tableName)   //返回DataSet
///5.public DataView GetDataViewValue(string sql)                   //返回DataView
///6.public DataTable GetDataTableValue(string sql)                 //返回DataTable
///7.public void ExecuteNonQuery(string sql)                        //执行一个SQL操作:添加、删除、更新操作
///8.public int ExecuteNonQueryCount(string sql)                    //执行一个SQL操作:添加、删除、更新操作,返回受影响的行
///9.public static object ExecuteScalar(string sql)                 //执行一条返回第一条记录第一列的SqlCommand命令
///10.public int SqlServerRecordCount(string sql)                   //返回记录数
 
 
///常用函数
///1.public static bool IsNumber(string a)                          //判断是否为数字
///2.public static string GetSafeValue(string value)                //过滤非法字符
namespace MES_SimpleDemo
{
    
    
    class SqlHelp
    {
    
    
 
        ///私有属性:数据库连接字符串
        ///Data Source=(Local)          服务器地址
        ///Initial Catalog=SimpleMESDB  数据库名称
        ///User ID=sa                   数据库用户名
        ///Password=admin123456         数据库密码
        private const string connectionString = "Data Source=(Local);Pooling=False;Max Pool Size = 1024;Initial Catalog=SimpleMESDB;Persist Security Info=True;User ID=sa;Password=admin123456";
 
 
 
        /// <summary>
        /// sqlHelp 的摘要说明:数据库访问助手类
        /// sqlHelper是从DAAB中提出的一个类,在这里进行了简化,DAAB是微软Enterprise Library的一部分,该库包含了大量大型应用程序
        /// 开发需要使用的库类。
        /// </summary>
 
 
        public void SqlHelp()
        {
    
    
            //无参构造函数
        }
 
        public static SqlConnection conn;
 
        //打开数据库连接
        public static void OpenConn()
        {
    
    
            string SqlCon = connectionString;//数据库连接字符串
            conn = new SqlConnection(SqlCon);
            if (conn.State.ToString().ToLower() == "open")
            {
    
    
 
            }
            else
            {
    
    
                conn.Open();
            }
        }
 
        //关闭数据库连接
        public static void CloseConn()
        {
    
    
            if (conn.State.ToString().ToLower() == "open")
            {
    
    
                //连接打开时
                conn.Close();
                conn.Dispose();
            }
        }
 
 
        // 读取数据
        public static SqlDataReader GetDataReaderValue(string sql)
        {
    
    
            OpenConn();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            CloseConn();
            return dr;
        }
 
 
        // 返回DataSet
        public DataSet GetDataSetValue(string sql, string tableName)
        {
    
    
            OpenConn();
            SqlDataAdapter da;
            DataSet ds = new DataSet();
            da = new SqlDataAdapter(sql, conn);
            da.Fill(ds, tableName);
            CloseConn();
            return ds;
        }
 
        //  返回DataView
        public DataView GetDataViewValue(string sql)
        {
    
    
            OpenConn();
            SqlDataAdapter da;
            DataSet ds = new DataSet();
            da = new SqlDataAdapter(sql, conn);
            da.Fill(ds, "temp");
            CloseConn();
            return ds.Tables[0].DefaultView;
        }
 
        // 返回DataTable
        public DataTable GetDataTableValue(string sql)
        {
    
    
            OpenConn();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            da.Fill(dt);
            CloseConn();
            return dt;
        }
 
        // 执行一个SQL操作:添加、删除、更新操作
        public void ExecuteNonQuery(string sql)
        {
    
    
            OpenConn();
            SqlCommand cmd;
            cmd = new SqlCommand(sql, conn);
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            CloseConn();
        }
 
        // 执行一个SQL操作:添加、删除、更新操作,返回受影响的行
        public int ExecuteNonQueryCount(string sql)
        {
    
    
            OpenConn();
            SqlCommand cmd;
            cmd = new SqlCommand(sql, conn);
            int value = cmd.ExecuteNonQuery();
            return value;
        }
 
        //执行一条返回第一条记录第一列的SqlCommand命令
        public object ExecuteScalar(string sql)
        {
    
    
            OpenConn();
            SqlCommand cmd;
            cmd = new SqlCommand(sql, conn);
            object value = cmd.ExecuteScalar();
            return value;
        }
 
        // 返回记录数
        public int SqlServerRecordCount(string sql)
        {
    
    
            OpenConn();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = sql;
            cmd.Connection = conn;
            SqlDataReader dr;
            dr = cmd.ExecuteReader();
            int RecordCount = 0;
            while (dr.Read())
            {
    
    
                RecordCount = RecordCount + 1;
            }
            CloseConn();
            return RecordCount;
        }
 
 
        ///<summary>
        ///一些常用的函数
        ///</summary>
 
        //判断是否为数字
        public static bool IsNumber(string a)
        {
    
    
            if (string.IsNullOrEmpty(a))
                return false;
            foreach (char c in a)
            {
    
    
                if (!char.IsDigit(c))
                    return false;
            }
            return true;
        }
 
        // 过滤非法字符
        public static string GetSafeValue(string value)
        {
    
    
            if (string.IsNullOrEmpty(value))
                return string.Empty;
            value = Regex.Replace(value, @";", string.Empty);
            value = Regex.Replace(value, @"'", string.Empty);
            value = Regex.Replace(value, @"&", string.Empty);
            value = Regex.Replace(value, @"%20", string.Empty);
            value = Regex.Replace(value, @"--", string.Empty);
            value = Regex.Replace(value, @"==", string.Empty);
            value = Regex.Replace(value, @"<", string.Empty);
            value = Regex.Replace(value, @">", string.Empty);
            value = Regex.Replace(value, @"%", string.Empty);
            return value;
        }
 
    }
}

データベーステーブルの構造とレコード

ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/s_156/article/details/110391150