一般的登陆界面,都是利用用户名和密码在数据库的匹配关系,来实现登陆的跳转功能。

首先介绍用户数据表的设计。

其中ID列需要设置好增量标识,随着用户的增加,ID的值递增,避免重复。

然后是C#中对数据库的操作类。

    class DataBase
{
public static string Login_ID = "";
public static string Login_Name = "";
public static SqlConnection My_Conn;
public static string openConnstr = @"Data Source=MHZHANG\SQLEXPRESS;Database=db_zmh;User id=XXXX;PWD=XXXXXXXX"; public static SqlConnection getcon()
{
My_Conn = new SqlConnection(openConnstr);
My_Conn.Open();
return My_Conn;
} public void con_open()
{
getcon();
} public void conn_close()
{
if (My_Conn.State == ConnectionState.Open)
{
My_Conn.Close();
My_Conn.Dispose();
}
} public SqlDataReader getsdr(string sqlstr)
{
getcon();
SqlCommand My_com = My_Conn.CreateCommand();
My_com.CommandText = sqlstr;
SqlDataReader My_Reader = My_com.ExecuteReader();
return My_Reader;
} public void dosqlcom(string sqlstr)
{
getcon();
SqlCommand sqlcom = new SqlCommand(sqlstr, My_Conn);
sqlcom.ExecuteNonQuery();
sqlcom.Dispose();
conn_close();
} public DataSet getDs(string sqlstr, string tableName)
{
getcon();
SqlDataAdapter sqlda = new SqlDataAdapter(sqlstr, My_Conn);
DataSet My_DataSet = new DataSet();
sqlda.Fill(My_DataSet, tableName);
conn_close();
return My_DataSet;
} }

对数据库的链接方式个人有所不同,仅供参考。

最后是登陆窗体的代码实现:

     public partial class Form_Login : Form
{
DataBase userDB = new DataBase();
public Form_Login()
{
InitializeComponent();
} private void btn_Login_Click(object sender, EventArgs e)
{
if (tb_UserName.Text != "" & tb_UserPwd.Text != "")
{
SqlDataReader temdr = userDB.getsdr("select * from tb_UserList where UserName='" + tb_UserName.Text.Trim() + "' and UserPwd='" + tb_UserPwd.Text.Trim() + "'");
bool ifcom = temdr.Read();
if (ifcom)
{
Form_Main frmMain = new Form_Main();
frmMain.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误!");
tb_UserName.Text = "";
tb_UserPwd.Text = "";
}
userDB.conn_close();
}
else
MessageBox.Show("请填写用户名和密码!"); } private void Form_Login_Load(object sender, EventArgs e)
{
try
{
userDB.con_open();
userDB.conn_close();
tb_UserName.Text = "";
tb_UserPwd.Text = "";
}
catch
{
MessageBox.Show("数据库连接错误!");
Application.Exit();
}
} private void Form_Login_Activated(object sender, EventArgs e)
{
tb_UserName.Focus();
} private void btn_Quit_Click(object sender, EventArgs e)
{
Application.Exit();
}
}

判断用户在数据表中存在的方法是利用SQLDataReader的方式,也有其他的方法。

C#基础——系统登录功能的实现的更多相关文章

  1. node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能

    第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...

  2. Python基础入门-函数实战登录功能

    ''' 函数实战: .加法计算器 .过滤器 .登录功能实战 ''' def add(a,b): return a+b def login_order(): return 'asdfasdfdasfad ...

  3. 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能

    现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...

  4. Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

    系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...

  5. Springboot实现登录功能

    SpringBoot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再 ...

  6. HTML&CSS基础-html注释功能

    HTML&CSS基础-html注释功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.什么是HTML(Hypertext Markup Language) 超文本标记 ...

  7. Bootstrap+JSP实例学习笔记一.简单的带登录功能的首页

    前言 Bootstrap 是流行的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.源自于twiteer内部的开发框架. 当前(2019-05)最新版本是v3.3. ...

  8. 玩转Django2.0---Django笔记建站基础十三(第三方功能应用)

    第13章 第三方功能应用 在前面的章节中,我们主要讲述Django框架的内置功能以及使用方法,而本章主要讲述Django的第三方功能应用以及使用方法.通过本章的学习,读者能够在网站开发过程中快速开发网 ...

  9. Java Web实现用户登录功能

    java web 学习记录一下 mvc结构实现mysql 连接 什么是mvc MVC是模型(model).视图(view).控制(controller)这三个单词上的首字母组成.它是一种应用模型,它的 ...

随机推荐

  1. spark发行版笔记13

    本期概览: ReceiverTracker架构设计 消息循环系统 ReceiverTracker具体的实现 Spark Streaming作为Spark Core基础 架构之上的一个应用程序,其中的R ...

  2. HTML引入外部文件,解决统一管理导航栏问题。

    1.IFrame引入,看看下面的代码     <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 ...

  3. SqlServer索引使用及维护

    在应用系统中,尤其在联机事物处理系统中,对数据查询及处理速度已成为衡量应用系统的标准. 而采用索引来加快数据处理速度也成为广大数据库用户所接受的优化方法. 在良好的数据库设计基础上,能够有效地索引是S ...

  4. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  5. vs2012 error c4996: This function or variable may be unsafe

    编译lua源码时,使用vs2012,遇到如下错误. 1>------ 已启动生成: 项目: 20130925, 配置: Debug Win32 ------ 1>  stdafx.cpp ...

  6. C++小项目:directx11图形程序(四):d3dclass

    主菜终于来了.这个d3dclass主要做的工作是dx11图形程序的初始化工作,它将创建显示表面交换链,d3d设备,d3d设备上下文,渲染目标表面,深度模板缓存:设置视口,生成投影矩阵. D3D设备:可 ...

  7. Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot disks it depends on

    启动vmware时出现以下错误: Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot dis ...

  8. centos6环境下安装tmux

    Install tmux on CentOS 6:1. sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-releas ...

  9. HalconMFC(二)之VS2010下配置Halcon11教程

    现在halcon最新版本是halcon11.0.3,所以在此说说halcon11.0.3的配置方法(至今还不知道halcon11怎么破解...halcon10早都可以破解了) 我们可以把相应的文件(头 ...

  10. 初识reactJs 相关

           喽了一眼阮一峰老师的react文章,感觉写的挺棒,这篇只是按照自己思路屡一遍,纯属自学笔记,不承担社会暴乱责任.前几天,打算学vuejs,师兄给了一句话的点播,感觉很醍醐灌顶.总结下,所 ...