该设计有两处连接数据库:
1.登录时,输入用户名和密码,连接数据库中的Users表,检查是否正确。
2.登录后的界面,连接数据库获取表的信息。

界面

连接数据库代码/操作

1.登录界面,连接数据库检查是否正确

private void button1_Click(object sender, EventArgs e){String username = textBox2.Text.Trim(); //取出用户名String password = textBox1.Text.Trim(); //取出密码String myConnString = "Data Source=.;Initial Catalog=school;Persist Security Info=True;User ID=sa;Password=****";//此处省略了我的密码~//创建数据库连接对象并实例化SqlConnection sqlConnection = new SqlConnection(myConnString);sqlConnection.Open();//打开数据库String sql = "select username,password from Users where Username='" + username + "'and Password='" + password + "'";//SQL查询语句SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);//初始化SQL命令对象SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); //执行命令并取出结果if(sqlDataReader.HasRows) //查询结果存在{MessageBox.Show("登录成功!", "Tips", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);//设置弹出对话窗labelusername.Text = "用户" + username;Form2 form2 = new Form2();form2.Show();this.Hide();//隐藏登录的界面}else{MessageBox.Show("用户名或密码错误!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}sqlConnection.Close();//关闭数据库连接}}
}

Users表:

其中userIdentity用来表示用户身份,为以后分为两个界面做的准备。

其实就是连接数据库检查输入的用户名和密码在表中是否存在对应数据,然后用MessageBox显示弹窗。

2.登录后,显示表中数据,连接数据库实现同步
①插入DataGridView组件,单击右上角小三角

②分别填写服务器名称(.)——身份验证(SQL Sever验证)——填写用户名和密码——选择连接的数据库

③选择数据库连接,这里显示的字符串正是连接数据库的代码用到的字符串。(我的数据库虽然目前不涉及什么大项目,可还算是我的小宝贝,密码是不能随便公诸于世的~)

连接好后可以选择显示哪个表的数据

功能展示

登陆成功:

登陆失败:

登陆成功后的界面:

注意点总结(包含我栽的坑)

1.写SQL语句的字符串时注意加单引号‘’,因为用户名和密码都是字符串。为了避免不必要的错误,每次写好SQL语句字符串的时候,复制粘贴到SQL Sever中试验一下是否可行,结果是否与预想一致。

2.在取文本框中内容时,或者一切用到文本框名称的时候,一定一定要看清文本框的名称!!!,或者直接命名为明显的名字。(我在取用户名和密码文本框中文本时,一个为textBox1,一个为textBox2,就弄反了,结果怎么输入都是错误,把表改了好多遍)

3.连接数据库(重点)

String myConnString = "Data Source=.;Initial Catalog=school;Persist Security Info=True;User ID=sa;Password=****";
//创建数据库连接对象并实例化
SqlConnection sqlConnection = new SqlConnection(myConnString);
sqlConnection.Open();//打开数据库String sql = "select username,password from Users where Username='" + username + "'and Password='" + password + "'";//SQL查询语句
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);//初始化SQL命令对象
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); //执行命令并取出结果if(sqlDataReader.HasRows) //查询结果存在
{...}
else
{...}sqlConnection.Close();//关闭数据库连接

sqlConnection —— 数据库连接对象
sqlCommand —— 数据库命令对象
sqlDataReader —— 读取命令对象的查询结果
(以上是我的理解)

4.退出程序

Application.Exit();

5.点击后打开新窗体

Form2 form2 = new Form2();
form2.Show();
this.Hide();//隐藏登录的界面

6.MessageBox的使用

MessageBox.Show("登录成功!", "Tips", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);//设置弹出对话窗MessageBox.Show("用户名或密码错误!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

MessageBox.Show(显示文本, 对话框标题, 对话框按钮, 图标);

7.【小技巧】设置密码不可见
文本框属性 —— PasswordChar

【心得】我的界面实在是太丑啦!!!以后还要想办法完善,收获颇多,开开心心。

C# Visual Studio 登录界面+数据库连接相关推荐

  1. Visual Studio 2019 界面开发开启控制台

    界面开发额外开启控制台 做开发界面时,调试输出默认打印在Visual Studio的下方的输出窗口中.为了额外开启控制台,用于打印调试输出. 在 "解决方案管理器 (Solution Exp ...

  2. Android studio登录界面之记住密码

    登录界面之记住密码 文章目录 登录界面之记住密码 文件存储的方式: 记住密码 存储数据 读取数据 完整代码 登录界面的博客: https://blog.csdn.net/genijmni/articl ...

  3. visual studio登陆界面空白_电脑同时登陆两个微信,你会吗?

    微信非常多实用的小技巧 技巧一:同时登两个微信 很多人都会有两个微信号,一个号码用于工作,一个用于日常生活,那在电脑上,怎么才能同时登两个微信呢? 可以用以下步骤来实现? ①打开电脑: ②连续点击电脑 ...

  4. 美腻!Visual Studio Code 界面毛玻璃效果!

    VSCode真的是一款强大的编程软件:它拥有众多类型的扩展和第三方库以及支持众多编程语言.在搭建并配置博客的过程中,本地静态博客的配置文件比如.yml.json.css.swig等各种格式的文件都可以 ...

  5. visual studio mfc 界面 布局调整

    11 资源视图 ---- 工具栏 22 资源视图 ---- 属性

  6. Visual Studio安装及下载

    简介 由于近期要将C语言作为学习工具,所以就翻看了很多文章以及了解了很多C语言开发工具.经过再三斟酌,决定将Visual Studio作为开发工具,作为初学者,下面详细介绍了该开发工具的安装与使用.希 ...

  7. visual studio 2019安装教程(C++版)

    目录 下载和安装 打开visual studio 额外小惊喜 下载和安装 登录visual studio 官网 https://visualstudio.microsoft.com/zh-hans/v ...

  8. 用Visual Studio Code Debug世界上最好的语言

    前言 这阵子因缘巧合接手了一个辣鸡项目,是用世界上最好的拍黄片写的,项目基本是另一个小伙伴在撸码,我就兼职打杂和发布做点运维的工作. 然后昨天项目上了测试版之后,一用起来Error满天飞了.让小伙伴查 ...

  9. visual studio 2017 中默认无法开发 Android 8.0 及以上系统的解决方案

    一般默认比较旧有两个原因,系统版本过旧,Visual Studio 版本过旧. 第一步,将windows 更新到最新版,必须是windows 10 并且更新到最新. 第二步,将visual studi ...

最新文章

  1. LinkedList 的作者说他自己都不用 LinkedList?
  2. NoSQL实现(3)——Cassandra
  3. 网络分析系统_MetagenoNets:在线宏基因组网络分析实操教程
  4. 如何对单手和双手协同运动方向进行神经表征和解码?北理工研究团队给出了相关方案
  5. 输出表格_做造价不会编工程量清单?276个造价表格同步输出,告别晚加班
  6. ios请求php接口失败,laravel,php_iOS调用Laravel接口返回错误信息,laravel,php,ios - phpStudy...
  7. centos 7 Chrony 集群同步时间
  8. SpringBoot整合Security安全框架、控制权限
  9. 数据库服务器(SQL SERVER)的安全设置
  10. 原来这才是日志打印的正确姿势!
  11. JQuery中的全选择器(通配符)
  12. 光纤交换机产品功能介绍
  13. 温度湿度传感器流程图_温度传感器和湿度传感器在高铁轨道板智能养护中的应用...
  14. python源码剖析笔记
  15. 电力巡检解决方案解决方案
  16. 常见的web网站攻击类型
  17. 三种照片保存形式 :JPEG、TIFF、RAW
  18. 磁力搜索网站+下载神器放送2019-03-05
  19. 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO问题
  20. itools官方中文版2014 v2.0.3.8_苹果同步软件

热门文章

  1. 【Redis企业实战】仿黑马点评项目
  2. android画布大小设置,Android:定义onDraw画布大小
  3. 在 Excel 中编写自定义函数——模拟 SUM 函数
  4. windows下sorl安装
  5. 一个java的小型WEB项目一个页面(IDEA + 前后端代码)--一些基本配置 分为三篇(第1篇)
  6. linux打开.db文件,DB_ 文件扩展名: 它是什么以及如何打开它?
  7. java-php-net-python-校园就业系统计算机毕业设计程序
  8. redhat8安装谷歌浏览器
  9. IBM:蓝色巨人是颓势?还是沉淀?
  10. 时间:UTC时间、GMT时间、本地时间、Unix时间戳