C#基础用户登陆



1.主界面代码:


2.注册页面






3.登陆界面



登陆注册代码:
//编写登录界面逻辑
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;
using System.Data.SqlClient; namespace LoginDatabase
{
public partial class Login : Form
{
private int errorTime = ; public Login() {
InitializeComponent();
} private void loginBtn_Click(object sender, EventArgs e) {
errorTime = errorTime - ; string username = txtName.Text.Trim(); //取出账号
string pw = txtPwd.Text.Trim(); //取出密码
string constr = "Server=.;DataBase=SU; Integrated Security=True"; //设置连接字符串
SqlConnection mycon = new SqlConnection(constr); //实例化连接对象
mycon.Open(); SqlCommand mycom = mycon.CreateCommand(); //创建SQL命令执行对象
string s1 = "select account,password from register where account='" + username + "' and password='" + pw + "'"; //编写SQL命令
mycom.CommandText = s1; //执行SQL命令
SqlDataAdapter myDA = new SqlDataAdapter(); //实例化数据适配器
myDA.SelectCommand = mycom; //让适配器执行SELECT命令
DataSet myDS = new DataSet(); //实例化结果数据集
int n = myDA.Fill(myDS, "register"); //将结果放入数据适配器,返回元祖个数
if (n != ) {
if (checkCode.Text == textCheck.Text) {
MessageBox.Show("欢迎使用!"); //登录成功
this.Close();
} else {
MessageBox.Show("验证码填写错误");
textCheck.Text = "";
}
} else
if (errorTime < ) {
MessageBox.Show("用户名或密码有错。请重新输入!还有" + errorTime.ToString() + "次机会");
txtName.Text = ""; //清空账号
txtPwd.Text = ""; //清空密码?
txtName.Focus(); //光标设置在账号上
} else {
MessageBox.Show("你输入的用户名或密码已达三次? 将退出程序");
this.Close();
} } private void cancelBtn_Click(object sender, EventArgs e) {
Application.Exit();
} private void button1_Click(object sender, EventArgs e) {
Register register = new Register();
register.ShowDialog();
} private void checkCode_Click(object sender, EventArgs e) {
Random random = new Random();
int minV = , maxV = ;
checkCode.Text = random.Next(minV, maxV).ToString();
}
}
} .编写注册界面逻辑
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms; namespace LoginDatabase
{
public partial class Register : Form
{
public Register() {
InitializeComponent();
} private void btnRegister_Click(object sender, EventArgs e) { //检查是否已经存在
string userID = userId.Text.Trim(); //取出账号 /**
* 连接数据库
*/
string constr = "Server=.;DataBase=SU; Integrated Security=True"; //设置连接字符串
SqlConnection mycon = new SqlConnection(constr); //实例化连接对象
mycon.Open(); //查询新注册的用户是否存在
SqlCommand checkCmd = mycon.CreateCommand(); //创建SQL命令执行对象
string s = "select account from register where account='" + userID + "'";
checkCmd.CommandText = s;
SqlDataAdapter check = new SqlDataAdapter(); //实例化数据适配器
check.SelectCommand = checkCmd; //让适配器执行SELECT命令
DataSet checkData = new DataSet(); //实例化结果数据集
int n = check.Fill(checkData, "register"); //将结果放入数据适配器,返回元祖个数
if (n != ) {
MessageBox.Show("用户名存在");
userId.Text = ""; userPw.Text = "";
nickName.Text = "";
} //确认密码
if (ensurePw.Text != userPw.Text) {
ensurePw.Text = "";
} //验证码
if (textCheck.Text != checkCode.Text) {
textCheck.Text = "";
} //插入数据SQL 逻辑
string s1 = "insert into Register(account,password,nickname) values ('" + userId.Text + "','" + userPw.Text + "','"
+ nickName.Text + "')"; //编写SQL命令
SqlCommand mycom = new SqlCommand(s1, mycon); //初始化命令
mycom.ExecuteNonQuery(); //执行语句
mycon.Close(); //关闭连接
mycom = null;
mycon.Dispose(); //释放对象 if (userId.Text == "" || userPw.TextLength <= || nickName.Text == "" || ensurePw.Text == ""
|| textCheck.Text == "") {
MessageBox.Show("请将信息填完整");
} else {
MessageBox.Show("注册成功");
this.Close();
}
} private void checkCode_Click(object sender, EventArgs e) {
Random random = new Random();
int minV = , maxV = ;
checkCode.Text = random.Next(minV, maxV).ToString();
}
}
C#基础用户登陆的更多相关文章
- [作业] Python入门基础--用户登陆
让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...
- Spring Boot 构建电商基础秒杀项目 (六) 用户登陆
SpringBoot构建电商基础秒杀项目 学习笔记 userDOMapper.xml 添加 <select id="selectByTelphone" resultMap=& ...
- JavaWeb基础之Servlet简单实现用户登陆
学习javaweb遇到了一些坑,一些问题总结下来,记个笔记. 学习servlet遇到的一些坑: servlet实现用户登陆遇到的坑解决办法: https://www.cnblogs.com/swxj/ ...
- Android——用户登陆及用户名和密码的保存
Android——用户登陆及用户名和密码的保存 在之前的学习过程中已经将Android学习完了,但是在后面将近一年的时间里都没有进行过Android开发,所以对Android的所有的知识点又有点忘 ...
- 基于gin框架和jwt-go中间件实现小程序用户登陆和token验证
本文核心内容是利用jwt-go中间件来开发golang webapi用户登陆模块的token下发和验证,小程序登陆功能只是一个切入点,这套逻辑同样适用于其他客户端的登陆处理. 小程序登陆逻辑 小程序的 ...
- JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)
JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...
- JavaWeb 基于Session的用户登陆注销实现
通过Session来存储用户的部分登陆信息来验证用户是否在线,这应该时最容易实现的一种Web端方案,本文以SSM(Spring.SpringMVC.myBatis)框架为载体,来具体实现这套登陆系统. ...
- Django之博客系统:用户登陆
使用django有一个好处就是有各种各样的框架可以拿来直接使用.相比flask,django自带的框架确实要多很多.比如这一章就要介绍的用户登录.Django拥有一个内置的认证(authenticat ...
- linux查看当前用户登陆信息
@(Linux基础)[linux查看当前用户登陆信息] linux查看当前用户登陆信息 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正 ...
随机推荐
- cf1114D 区间dp基础
最简单的那类区间dp,昨天晚上心态不对,不知道在打什么.. /* dp[l][r]表示区间[l,r]都涂成同色的代价 dp[l][r]可以由dp[l][r-1],dp[l+1][r],dp[l+1][ ...
- ubuntu 手动更新源 以及使用sudo update与upgrade的作用及区别
一.今天更新一下我的ubuntu系统,用了几个源发现不怎么好用 上网查了一下发现有说阿里云的源挺好用 然后我试了一下 下载速度还挺快,下面分享一下怎么手动添加源列表 1.最好先做一下备份 sudo c ...
- 金蝶k3密码批量修改
该字段含有单引号,直接使用查询语句,需要转义其中的单引号.select * from t_User where FSID = ') F ", ,P T #8 *P!D &D 80!N ...
- spring+redis的集成,redis做缓存
1.前言 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.我们都知道,在日常的应用中,数据库瓶颈是最容易出现的 ...
- CentOS6 YUM安装MariaDB10.3.10
1.先新增加一个MariaDB.repo vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://mirr ...
- 解决h5网页微信分享链接不能显示缩略
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js& ...
- python全栈开发day55-mysql外键的三种变种
一.昨日内容回顾 二.今日内容总结 三.mysql应知必会 你可以通过INFORMATION_SCHEMA.KEY_COLUMN_USAGE 表来查看. select * from INFORMATI ...
- 分布式系统的CAP理论
一.CAP理论概述 一个分布式系统最多只能同时满足一致性(Consistency).可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项. 二.CAP ...
- autio的自动播放问题
最近做年会相关内容,背景音乐插入了,电脑上没问题,移动版就出事了,下面做一下记录 <audio src="" autoplay="autoplay" l ...
- Codeforces 513E2 Subarray Cuts dp (看题解)
我们肯定要一大一小间隔开来所以 把式子拆出来就是类似这样的形式 s1 - 2 * s2 + 2 * s3 + ...... + sn 然后把状态开成四个, 分别表示在顶部, 在底部, 在顶部到底部的中 ...