C# MySQL 实现简单登录验证 后端代码解析

Visual Studio中使用MySQL的环境配置

下文所有到的代码(前端后端)

请查阅这篇博文

C#连接MySQL数据库(一)代码

获取前端数据

获取前端提交过来的数据

string usrName = tb1.Text.Trim();
string usrPwd = tb2.Text.Trim();

【1】设置字符串类型变量usrName和usrPwd,分别用来接受前端传来的账号密码

【2】.Trim()方法用来简单对数据进行处理:删除字符串头部及尾部出现的空格

【3】tb1和tb2是前端控件TextBox的Id名

数据初步验证

判断前端传来数据是否为空,如果为空,则报告错误

 //验证数据是否合理
if (usrName.Length == 0 || usrName.Length > 100)
{
lbl_Message.Text = "UserName is wrong!";
};
if (usrPwd.Length < 6 || usrPwd.Length > 100)
{
lbl_Message.Text = "UserPassword is wrong!";
}

lbl_Message 是前端控件Label 的Id名,该控件用于显示提示信息

连接数据库进行数据验证

连接数据库

 string conn =
"Data Source = 127.0.0.1;" +
"User ID=root;" +
"Password=xrilang@mllt.cc;" +
"DataBase=omtpc;" +
"port=3306";

参数说明

Data Source:数据源。如果是在本地调试,则写localhost或者127.0.0.1

User ID:数据库用户名

Password:数据库密码

DataBase:数据库名

Port:端口号

定义连接对象

//定义连接对象(构造函数的参数为数据库连接字符串)

MySqlConnection con = new MySqlConnection(conn);

打开数据库连接

con.Open();

执行数据库的访问操作

string strSqlCommand = "Select*from officer21 where usrID='" + usrName + "'";
MySqlCommand cmd = new MySqlCommand(strSqlCommand, con);
MySqlDataReader dr = cmd.ExecuteReader(); //查找多行 : ExecuteReader()方法 | 执行结果放入dr中

数据验证

if (dr.Read())
{
string queryPassword = dr["password"].ToString();
if (usrPwd == queryPassword)
{
lbl_Message.Text = "验证成功";
Response.Redirect("welcome.aspx");
}
else
{
lbl_Message.Text = "验证失败";
}
}
else {
lbl_Message.Text = "用户名错误";
}

dr.Read()如果为真,说明上一步执行的数据库中的数据查询命令,是查询到了数据的,意思是有这个账号

dr.Read()如果为假,说明上一步执行的数据库中的数据查询命令,没有查询到数据,意思是没有这个账号

Response.redirect () Response 接口的 redirect () 方法返回一个可以重定向到指定 URL 的 Response

你可以简单理解为 Response.Redirect 就是跳转到另外的页面

结束

dr.Close();
con.Close();

【C#】【MySQL】C#连接MySQL数据库(二)解析的更多相关文章

  1. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  2. 使用node中mysql模块连接本地数据库

    连接数据库的方法迄今为止学了三种: cmd方式.可视化工具,今天记第三种----node端连接数据库. 一:mysql模块介绍与下载 1.mysql模块是node端专门连接数据库的第三方模块 2.下载 ...

  3. python3.4怎么连接mysql pymysql连接mysql数据库

    本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql.   在python3.4 ...

  4. MySQL显示连接的数据库名

    在默认下,MySQL在use databasename的时候,是不显示连接的库名! mysql> show databases;+--------------------+| Database ...

  5. Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

    远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是 ...

  6. (笔记)Mysql命令mysql:连接Mysql数据库

    mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令m ...

  7. Mysql命令mysql:连接Mysql数据库

    mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p, ...

  8. python 连接操作数据库(二)

    一.我们接着上期的博客继续对ORM框架进行补充,顺便把paramiko模块也给大家讲解一下: 1.ORM框架: 在连接操作数据库的第一个博客中也已经说了,sqlalchemy是一个ORM框架,总结就是 ...

  9. C Mysql API连接Mysql

    最近都在查看MYsql C API文档,也遇到了很多问题,下面来简单的做一个总结. mysql多线程问题 mysql多线程处理不好,经常会发生coredump,见使用Mysql出core一文. 单线程 ...

  10. mysql 5.7新数据库sys解析(一)

    mysql5.7增加了sys 系统数据库,通过这个库可以快速的了解系统的元数据信息 这个库确实可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助   这个库在mysql5.7中是默认存在 ...

随机推荐

  1. Effective C++ 总结笔记(二)

    二.构造/析构/赋值运算 05.了解C++默默编写并调用那些函数 如果自己不声明, 编译器就会暗自为class创建一个default构造函数.一个copy构造函数.一个copy assignment操 ...

  2. python3排序 sorted(key=lambda)--实现对字典按value值排序

    使用python对列表(list)进行排序,说简单也简单,说复杂也复杂,我一开始学的时候也搞不懂在说什么,只能搜索一些英文文章看看讲解,现在积累了一些经验,写在这里跟大家分享, 1.sorted函数首 ...

  3. 让textarea根据文本的长度自动调整它的高度

    ... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR ...

  4. php 数组(2)

    数组排序算法 冒泡排序,是一种计算机科学领域的较简单的排序算法.它重复地访问要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们减缓过来.走访数列的工作室重复的进行直到没有再需要交换,也就是说该 ...

  5. 15. mac安装多版本jdk

    一.jdk下载地址 jdk官网下载地址:http://jdk.java.net/archive/ 二.安装jdk Mac的JDK都是安装到一个指定目录的:/Library/Java/JavaVirtu ...

  6. Scrapy入门到放弃05:让Item在Pipeline中飞一会儿

    前言 "又回到最初的起点,呆呆地站在镜子前". 本来这篇是打算写Spider中间件的,但是因为这一块涉及到Item,所以这篇文章先将Item讲完,顺便再讲讲Pipeline,然后再 ...

  7. [cf1379F]Chess Strikes Back

    考虑将$(2i-1,2j-1)$和$(2i,2j)$缩为一个点,记作$(i,j)$ 对于每一个点,只能选$(2i-1,2j-1)$或$(2i,2j)$(显然不能都选),而这样恰好为$nm$个,因此必须 ...

  8. 智能 Request 推荐,K8s 资源利用率提升 252%

    作者 王孝威,FinOps 认证从业者,腾讯云容器服务产品经理,热衷于为客户提供高效的 Kubernetes 使用方式,为客户极致降本增效服务. 余宇飞,FinOps 认证从业者,腾讯云专家工程师,从 ...

  9. JDK中Lambda表达式的序列化与SerializedLambda的巧妙使用

    前提 笔者在下班空余时间想以Javassist为核心基于JDBC写一套摒弃反射调用的轻量级的ORM框架,过程中有研读mybatis.tk-mapper.mybatis-plus和spring-boot ...

  10. 关于uni-app导航栏中 中间大图标的设置

    在uni-app的开发过程中,想要将位于中间的图标设置更大,通过一般的更改导航栏图标大小方式实现不了.经过查看官方文档可以发现,我们可以通过midbutton来设置中间tabbar的样式. 但前提是, ...