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. (三)MySQL数据管理

    3.1 外键(了解即可) 方式一:在创建表的时候,增加约束(麻烦,比较复杂) CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AU ...

  2. SeleniumLibrary 主要关键字 基于python3

    关键字的解释 https://blog.csdn.net/ak739105231/article/details/88926995 click element 都是元素点击事件:不赘述 click l ...

  3. mysql 数据库中 int(3) 和 int(11) 有区别么???

    今天去面试的时候 面试官问到了这个问题:int(3) 和 int(11) 有什么区别?? 当时一听有点蒙,(不知道为什么蒙,后来回来想想可能是觉得考官怎么会问这么简单的问题呢,所以蒙了),当时我的回答 ...

  4. [hdu4582]DFS spanning tree

    考虑每一条非树边都连接了祖先和儿子,类似于序列上的问题,从底往上算,当发现如果走到某个环的祖先,且这个环中还没有被选到,那么就将最浅的那条边贪心选择即可具体实现可以使用bitset维护当前子树的询问, ...

  5. 【Tool】IntelliJ 搭建Node.js环境

    IntelliJ IDEA 开发 Node.js 2019-07-29  14:12:34  by冲冲 1. 配置插件 在IDEA的 file -> setting -> Plugins, ...

  6. SQL 跨实例操作

    SQL 跨实例操作 我使用的是 OpenDataSource 函数,假设你要在其他机器上访问 192.168.0.1 上的数据库: SELECT A.[Name], B.[SkillName], B. ...

  7. Codeforces 632F - Magic Matrix(暴力 bitset or Prim 求最小生成树+最小瓶颈路)

    题面传送门 开始挖老祖宗(ycx)留下来的东西.jpg 本来想水一道紫题作为 AC 的第 500 道紫题的,结果发现点开了道神题. 首先先讲一个我想出来的暴力做法.条件一和条件二直接扫一遍判断掉.先将 ...

  8. Atcoder Grand Contest 038 E - Gachapon(Min-Max 容斥+背包)

    Atcoder 题面传送门 & 洛谷题面传送门 我竟然能独立做出 Ag 的 AGC E,incredible!更新了 Atcoder 做题难度上限( 首先按照套路 Min-Max 容斥,\(a ...

  9. 解决mac电脑耳机/外放突然无声音

    问题现象 mac电脑基本不会关机,近期发送隔一段时间出现网易云音乐可以播放但是耳机.外放均无声音的问题.此时,电脑本身的声音提示.远程会议声音均正常. 解决方法 网上搜了一圈解决方案,最后发现是输出设 ...

  10. C++类虚函数内存分布(这个 你必须懂)

    转自:http://www.cnblogs.com/jerry19880126/p/3616999.html C++类内存分布 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来 ...