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 用户登录NO._1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button_Update()
{
string strcon = ConfigurationManager.ConnectionStrings["con_1"].ConnectionString;
using (SqlConnection con = new SqlConnection(strcon))
{
using (SqlCommand cmd = new SqlCommand("select * from T_user where username=@name", con))
{
con.Open();
cmd.Parameters.AddWithValue("@name",txtName.Text.Trim());
SqlDataReader myreader = cmd.ExecuteReader();
while (myreader.Read())
{
if ((System.DateTime.Now - Convert.ToDateTime(myreader["ErrorTime"].ToString())).TotalMinutes > 2)
{
Update_User(myreader["UserName"].ToString());
}
}
}
}
}
/// <summary>
/// 更新所有数据
/// </summary>
/// <param name="name"></param>
private void Update_User(string name)
{
string strcon = ConfigurationManager.ConnectionStrings["con_1"].ConnectionString;
using (SqlConnection con = new SqlConnection(strcon))
{
using (SqlCommand cmd1 = new SqlCommand("update T_user set Error=0 where username=@name", con))
{
con.Open();
cmd1.Parameters.AddWithValue("@name", name);
cmd1.ExecuteNonQuery();
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
Button_Update(); //更新数据
string strcon = ConfigurationManager.ConnectionStrings["con_1"].ConnectionString;
SqlConnection con = new SqlConnection(strcon);
SqlCommand cmd = new SqlCommand("select * from T_user where username=@name and password=@pwd",con);
cmd.Parameters.AddWithValue("@name",txtName.Text.Trim());
cmd.Parameters.AddWithValue("@pwd",txtpwd.Text.Trim());
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt); //此处是数据库中数据两分钟后清零
if(dt.Rows.Count==1)
{
if (dt.Rows[0]["Error"].ToString() == "3")
{
MessageBox.Show("请稍等……");
}
else
{
MessageBox.Show("登录成功!");
}
}else
{
NewMethod();
// MessageBox.Show("");
}
}
private void NewMethod()
{
string strcon = ConfigurationManager.ConnectionStrings["con_1"].ConnectionString;
using (SqlConnection con = new SqlConnection(strcon))
{
using (SqlCommand cmd = new SqlCommand("select * from T_User where username=@name", con))
{
con.Open();
cmd.Parameters.Add("@name", txtName.Text.Trim());
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["Error"].ToString() != "3")
{
i++;
if (i == 3)
{
method_sqlhelper(i);
MessageBox.Show("您已经错误3次请2分钟之后再进行登录!");
}
else
{
MessageBox.Show("登录失败!");
method_sqlhelper(i);
}
}
else
{
MessageBox.Show("请稍后……");
}
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void method_sqlhelper(int i)
{
string str_con = ConfigurationManager.ConnectionStrings["con_1"].ConnectionString;
SqlConnection con = new SqlConnection(str_con);
SqlCommand cmd = new SqlCommand("update T_User set Error=@Error_nums,ErrorTime=@time where username=@name",con);
cmd.Parameters.AddWithValue("@Error_nums", i.ToString());
cmd.Parameters.AddWithValue("@name",txtName.Text.Trim());
cmd.Parameters.AddWithValue("@time", System.DateTime.Now);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
} //次处是密码输入错误三次,数据库中累加的错误次数!
}
}