winForm用户登陆(window窗体应用程序,有改进版)

来源:互联网 发布:opengl shader编程 编辑:程序博客网 时间:2024/06/06 23:47

改版的WinForm用户登陆

App.config中配置字文件

<?xml version="1.0" encoding="utf-8" ?><configuration>  <connectionStrings>    <add name="getConn" connectionString="data source=凡斌-VAIO; initial catalog=sales; integrated security=true"/>  </connectionStrings></configuration>

Form1.cs的页,双击buttion1进入

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;namespace 用户登陆{            public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        static void ExecuteNonQuery(string sql)        {            Connection.GetConnection(); //获取连接数据库字符串            using (SqlConnection conn = new SqlConnection(Connection.GetConnection()))            {                conn.Open();                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = sql;                    cmd.ExecuteNonQuery();                }            }        }        private void button1_Click(object sender, EventArgs e)        {            Connection.GetConnection(); //调用自定义方法,连接数据库            using (SqlConnection conn = new SqlConnection(Connection.GetConnection()))//创建sql server连接对象conn            {                conn.Open(); //打开连接                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = "select * from  T_users where userName=@NM";                    cmd.Parameters.Add(new SqlParameter("NM", txtUserName.Text)); //避免SQL注入漏洞攻击                    using (SqlDataReader dr = cmd.ExecuteReader())                    {                        if (dr.Read())                        {                            string pas=dr.GetString(dr.GetOrdinal("Password"));// 获取密码                            if (Convert.ToInt32(dr.GetInt32(dr.GetOrdinal("Errortimes"))) > 3)//如果错误次数大于3次,提示错误次数过多。                            {                                label3.Text = "错误次数过多,请稍后再试";                                return;                            }                            if (pas.ToString()==txtPassword.Text)                            {                                label3.Text = "登陆成功";                                ExecuteNonQuery("update T_users set Errortimes=0");                                                            }                            else                            {                                label3.Text = "密码错误";                                ExecuteNonQuery("update T_users set Errortimes=Errortimes+1");                            }                        }                        else                        {                            label3.Text = "用户名错误";                        }                    }                }            }        }    }    class Connection        //获取App.config文件里的数据库连接字符串    {        public static string GetConnection()        {            string getConn = ConfigurationManager.ConnectionStrings["getConn"].ConnectionString;            return getConn;        }    }}

 

原创粉丝点击