简单的登录模块
来源:互联网 发布:黑客专用软件 编辑:程序博客网 时间:2024/06/06 09:02
该模块实现的功能主要是用户登录;用户登录输入的数据如果错误三次,那么就不可以再进行登录,系统将退出程序;当然,该模块的程序不是很完善,比如:当用户在第三次输入数据时正确,那么就应该将前面的错误次数清除掉,但程序没有这样实现;当然我会进一步完善;下面是对模块的实现:
private void button2_Click(object sender, EventArgs e)
{
string conn = "initial catalog=MyADO;server=.;integrated security=true;";
if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""){
MessageBox.Show("请输入数据","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
else{
using(SqlConnection sqlconn=new SqlConnection(conn)){
sqlconn.Open();
using(SqlCommand sqlcmd=sqlconn.CreateCommand()){
sqlcmd.CommandText = "select * from UserInfo where UserName=@username";
sqlcmd.Parameters.Add(new SqlParameter("username", textBox1.Text.Trim()));
SqlDataReader dr = sqlcmd.ExecuteReader();
if(dr.Read()){
int num = dr.GetInt32(dr.GetOrdinal("ErroTime"));
if(num==3){
dr.Close();
dr.Dispose();
sqlconn.Close();
sqlconn.Dispose();
MessageBox.Show("您不可以再进行登录操作!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
Application.Exit();
}
else{
///可以继续进行登录操作;
//string username=dr.GetString(dr.GetOrdinal("UserName"));
string userpwd=dr.GetString(dr.GetOrdinal("UserPWD"));
if(userpwd==this.textBox2.Text.Trim()){
MessageBox.Show("登录成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;//// 登录成功应该跳转;
}
else{
num++;
MessageBox.Show("密码不正确","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
///写入到数据库中;
dr.Dispose();
sqlconn.Close();
sqlconn.Dispose();
using(SqlConnection sconn=new SqlConnection(conn)){
sconn.Open();
using (SqlCommand cmd =sconn.CreateCommand()) {
cmd.CommandText = "update UserInfo set ErroTime=@errotimes where UserName=@username";
cmd.Parameters.Add(new SqlParameter("errotimes", num));
cmd.Parameters.Add(new SqlParameter("username",textBox1.Text.Trim()));
cmd.ExecuteNonQuery();/// 执行;
sconn.Close();
sconn.Dispose();
} } } } }
else{
MessageBox.Show("该用户不存在","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
} } } } }
数据库表:
USE [MyADO]
GO
CREATE TABLE [dbo].[UserInfo](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](16) COLLATE Chinese_PRC_CI_AS NOT NULL,
[UserPWD] [varchar](16) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ErroTime] [int] NOT NULL CONSTRAINT [DF_UserInfo_ErroTime] DEFAULT ((0)),
CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
- 简单的登录模块
- 一个简单的注册登录模块
- 基于JSP的开发实例--简单的登录模块
- 写了一个简单的注册登录模块
- 关于PHP的一个简单实例(登录模块)
- 在JSP中使用Session制作简单的登录模块
- JSP+Servlet + JDBC 实现简单的登录验证模块
- 4 JSP+Servlet + JDBC 实现简单的登录验证模块
- ruby on rails 注册登录模块的简单实现
- JSP+Servlet + JDBC 实现简单的登录验证模块
- python-简单的用户与密码登录模块实现
- 登录模块的设计
- 登录模块的处理
- JSP简单登录模块使用Session
- JSP简单登录模块使用Session
- QQ android 登录模块简单分析
- C#登录模块的设计
- 基于cookie的登录模块
- 在一台机器上模拟MongDB的分片功能(转)
- 聚簇索引与非聚簇索引
- 又交了快2万块的学费
- 实例表现ibatis的基础用法(不断更新)
- iphone ios wwdc学习笔记
- 简单的登录模块
- CSS和html设计模式 2
- HTTP协议报文格式
- 程序员应知道的12件事
- AMD HD3D
- 下载编译Android源码
- Loadrunner8.1录制脚本无法打开IE的问题解决方法
- Qt图片自适应窗口控件大小
- C++多态