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

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

其中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. Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长

    Amazon EC2也就是亚马逊云服务免费VPS主机服务,内存是613MB,月流量是30GB,主机空间是30GB,可以免费使用一年,又加上Amazon服务器全球多个节点CDN和本身的名气,早在2010 ...

  2. JAVA中的类和接口

    1.类: 类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  3. JAVA动手动脑多态

    动手实验一:下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 先进行自我判断,得出结论后,运行TestCas ...

  4. 160个crackme-之Afkayas.1

    工具: OD 环境: windows XP 运行: 我们先运行一下这个小程序,看看它到底是干什么的.运行后发现它要我们输入Type In your Name 和Type In your Serial ...

  5. Java中使用二重循环打印沙漏图形

    1.首先判断外层,A .B.C.D都符合条件 2.那么再看内层 A :int i=0;i<5;i++ 当i=1时;带入到第二个内层循环中 int j=0;j<Math.abs(i)*2+1 ...

  6. 涵涵和爸爸习惯养成进度表(二)(May 30 - )

    规则说明 22天内,没有哭脸,不超过三个无表情脸,可以给一个奖励(动画书等) 涵涵违反规则,在爸爸和妈妈都同意的情况下,可以给无表情脸 爸爸违反规则,在妈妈和涵涵都同意的情况下,可以给无表情脸 获奖记 ...

  7. C#生成图片缩略图(2种思路)

    前言:在日常图片浏览中,如果图片过多,只有一张张的打开图片才能知道图片的内容,显然这样浏览起来非常不便.Windows系统在浏览图片时提供了缩略图的功能,这样大大的方便了浏览者了解每张图片的内容,本实 ...

  8. SQL查询语句执行速度快,存储过程执行慢

    今天一个生成10w条数据的存储过程执行了95s,但是单独执行SQL语句只需要28s,查资料后发现原来这是存储过程的机制导致的,也就是传说中的参数嗅探 网上的一段话: (1)可能是发生了参数嗅探,第一次 ...

  9. BootStrap 的modal 中使用typeahead

    刚开始怎么也不现实,在页面上显示正常. 调试发现是下拉框被modal遮挡住了, 找到样式dropdown-menu    修改z-index值为2000后,显示正常.(modal的z-index值为1 ...

  10. html5 请求的URL转成 OC可用属性字符串显示

    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:helpUrlStr]]; NSString *string = [ ...