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. 本地以sysdba 身份登录数据库实例时,报错ORA-01031 权限不足

    在linux 操作系统的数据库服务器上,使用"sqlplus / as sysdba" 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031:  权限不足. ...

  2. SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(3)

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续上一节针对我们的重试进行测试 验证针对可重试的方法响应超时异常重试正确 我们可以通 ...

  3. js 正则表达式 验证与限制

    .... //验证身份证格式 function onIDCardsValidation(e) { if (e.isValid) { var pattern = /\d*/; if (!(e.value ...

  4. 从华为新发布的WeAutomate 3.0,看RPA如何在政企领域落地生长

    文/王吉伟 11月11日,是电商的重要节日.即便今年双11的气氛不如往年浓烈,人们依旧关注双11厂商战报,关注购物车里的商品有没有降价. 当然在RPA领域,大家除了关注双11的商品价格,更关注华为RP ...

  5. 力扣 - 剑指 Offer 22. 链表中倒数第k个节点

    题目 剑指 Offer 22. 链表中倒数第k个节点 思路1(栈) 既然要倒数第k个节点,那我们直接把所有节点放到栈(先进后出)里面,然后pop弹出k个元素就可以了 代码 class Solution ...

  6. python实现高斯滤波

    一,定义 核是:3 *3     均值滤波 二,高斯函数 Y方向的方差与X方向的一致.处理后图像看起来更模糊(滤波明显)的话,核要更大. (三)代码实现 (四)核计算 (五)图像产生高斯噪声循环代码实 ...

  7. [cf787E]Till I Collapse

    考虑对询问分块,对于i<K的询问,暴力处理,时间复杂度为o(Kn):对于i>K的询问,发现答案都小于n/K且满足单调性,那么可以二分出每一段相同的答案,时间复杂度为$o(n^{2}log_ ...

  8. [uva11429]Randomness

    记p(i,j)表示第i次随机时,用多少个数对应到第j个事件,特别的,p(i,0)表示转移到下一次随机数的概率,那么即要求$aj/bj=\sum_{i=1}^{inf}p(i,j)/R^{i}$,容易发 ...

  9. 设计模式学习-使用go实现访问者模式

    访问者模式 定义 优点 缺点 适用范围 代码实现 什么是 Double Dispatch 参考 访问者模式 定义 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作.它使你可以在不 ...

  10. 从零开始学Kotlin第六课

    Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...