C#登陆例子


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 MySql.Data.MySqlClient;

namespace 登陆练习
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void incErrorTimes() {
using (MySqlConnection conn = new MySqlConnection("Server=localhost;User Id=root;Password=xman;Persist Security Info=True;Database=test"))
{
conn.Open();
using (MySqlCommand updataCmd = conn.CreateCommand())
{
updataCmd.CommandText = "update user set errorTimes= errorTimes+1 where userName=@u";
updataCmd.Parameters.Add(new MySqlParameter("u", userText.Text));
updataCmd.ExecuteNonQuery();

}
}
}

private void reSetErrorTimes()
{
using (MySqlConnection conn = new MySqlConnection("Server=localhost;User Id=root;Password=xman;Persist Security Info=True;Database=test"))
{
conn.Open();
using (MySqlCommand updataCmd = conn.CreateCommand())
{
updataCmd.CommandText = "update user set errorTimes= 0 where userName=@u";
updataCmd.Parameters.Add(new MySqlParameter("u", userText.Text));
updataCmd.ExecuteNonQuery();

}
}
}

private void button1_Click(object sender, EventArgs e)
{
using (MySqlConnection conn = new MySqlConnection("Server=localhost;User Id=root;Password=xman;Persist Security Info=True;Database=test"))
{
conn.Open();
using (MySqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = "select * from user where userName=@u ";
cmd.Parameters.Add(new MySqlParameter("u", userText.Text));
using (MySqlDataReader reader = cmd.ExecuteReader()) {

if (reader.Read())
{
int errorTimes = reader.GetInt32(reader.GetOrdinal("errorTimes"));
if (errorTimes > 3)
{

MessageBox.Show("登陆错误次数过多,禁止登陆!");
return;
}
String dbpassword = reader.GetString(reader.GetOrdinal("userPass"));
if (dbpassword == PassText.Text)
{
MessageBox.Show("登陆成功!");
reSetErrorTimes();
}
else
{
incErrorTimes();

MessageBox.Show("登陆失败!");
}



}
else {
MessageBox.Show("用户不存在!");
}

}

}

}
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值