0%

C#简易电影记录管理系统:开发一[用户登录]

开篇

在现实程序开发中, 我们开发的最多,最广泛的还是一些各类型的数据管理系统,当然不同的系统有功能上的差异,数据库也不一样,但最主要,最常见的功能无外乎对数据的基本操作(增删改查).该系统开发系列记录了整个简易电影记录管理系统的开发过程,绝大部分功能模块设计与实现都附上了截图,大部分代码也都包含注释,十分适合C#新手学习和掌握.

本期概述

第一期我们一起来学习下如何使用Visual Studio 2008从新建项目到实现一个用户登录功能.

那么我们赶紧开始吧~~~~

1.新建项目

img

2.新建Winform(Windows 窗体应用程序) 如图

img

3.接下来新建好了Winform主窗体,并命名为 FrmLogin.cs.

界面设计:首先我们从左边的工具栏里拖出一个Button按钮,用于后期输入账号和密码后点击登录使用(如图所示).

img

\4. 接下来是label框 用于提示需要在文本框Textbox内输入的内容.

img

\5. 文本框Textbox 用于输入帐号和密码.

img

6.大体界面设计好了,我们需要给控件们赋予name属性名称(如下)

窗体name: FrmLogin.cs(之前已经命名过) 用户名文本框name:txtName 密码文本框name:txtPwd 登录按钮name:btnLogin

img

然后再添加一个登录成功后 的跳转窗体 name: FrmManager.cs

img

界面设计好了, 我们把需要创建一个数据库用于存取用户的账户和密码信息.

1.新建一个数据库

img

2.将数据库名设置为 Movie, 再点OK 就新建好了.

img

3.数据库创建好了,我们便开始新建数据表.

img

4.设置 列名(字段名) 数据类型 以及 是否允许该字段为空

列名分别为 用户ID: MId 用户名: MUserName 用户密码: MUserPwd

img

5.设置MId 的主键

img

6.设置好主键后, 将下面列属性中的是否自我增长标识(Identity Specification)也设置一下.

img

\7. 将 Identity Specification 中的 Is Identity 设置为 Yes(目的是让每插入1行新数据 ID数自动+1).

img

\8. 设好了以后保存数据表,表名为MovieAccount.

img

9.数据表建完以后,我们需要手动插入用户登录系统所需要的用户名和密码.

img

10.手动插入用户名和密码 如图所示(当然用户名和密码可以随意写,只要命名有意义且方便好记即可).

img

这样,数据库便建好了.

接下来设置登录窗体

1.由于是针对数据库的操作,首先我们需要添加一个系统用于连接数据库的配置文件 App.config.

右键项目名- 添加 - 新建项

img

然后选择 应用程序配置文件, 名称使用默认的 App.config 即可.

img

2.添加完配置文件后,我们需要在里面添加 连接字符串名称 add name=”str” 和 数据库连接字符串内容 connectionString=”…..”.

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>

<add name="str" connectionString="Data Source = .\SQLExpress2008; Initial Catalog=Movie;Integrated Security=True"/>
</connectionStrings>
</configuration>

设置完成 App.config 连接配置文件后,我们需要在登录窗体代码中来对其进行连接;这里我们需要用到ConfigurationManager(它提供了对客户端应用程序配置文件的访问).系统默认是不使用其命名空间的,因此我们需要对其进行解析;在解析前,需要添加一个对System.configuration程序集的引用.

图一

找到解决方案资源管理器下的 “引用”, 右键 “添加引用”.

img

图二

找到.net 项, 选择System.configuration,然后点确定.

img

图三

当你看到引用下面出现了System.configuration,便说明引用已添加完成.

img

图四

添加完引用后,我们在代码中添加一条用于连接配置文件的连接字符串.

1
2
//用于连接配置文件App.config
string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString;

添加位置 如下图

img

然后将鼠标移到ConfigurationManager单击右键,这时候出现一个解析选项;

选using System.Configuration (使用系统下的Configuration命名空间).

img

当然,由于登录窗体需要使用一些数据库操作指令的命名空间,例如SqlConnection等,系统默认是不使用的,所以同样我们需要自己解析一下.

同样右键SqlConnection解析,选择 using System.Data.SqlClient 或者System.Data.SqlClient.SqlConnection 都行.

img

完整代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;
/*******************************************************

** 作者: SoFlash - 博客园 http://www.cnblogs.com/longwu

** 描述: FrmLogin.cs 用于 用户登录窗体的 实现

******************************************************/

namespace 电影记录管理系统
{
public partial class FrmLogin : Form
{

public FrmLogin()
{
InitializeComponent();
}
//首先 设置 连接到配置文件组建 App.config
//当然 这里的 ConfigurationManager 系统是默认不使用其命名空间的 因此需要解析
string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString;

private void btnLogin_Click(object sender, EventArgs e)
{
//使用SqlConnection 来连接数据库
using (SqlConnection conn = new SqlConnection(connStr))
{
//创建sql 查询语句
string sql = "select MUserPwd from MovieAccount where MUserName ='" + txtName.Text + "'";
//创建 SqlCommand 执行指令
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
//打开数据库连接
conn.Open();
//使用 SqlDataReader 来 读取数据库
using (SqlDataReader sdr = cmd.ExecuteReader())
{
//SqlDataReader 在数据库中为 从第1条数据开始 一条一条往下读
if (sdr.Read()) //如果读取账户成功(文本框中的用户名在数据库中存在)
{
//则将第1条 密码 赋给 字符串pwd ,并且依次往后读取 所有的密码
//Trim()方法为移除字符串前后的空白
string pwd = sdr.GetString(0).Trim();
//如果 文本框中输入的密码 ==数据库中的密码
if (pwd == txtPwd.Text)
{
//说明在该账户下 密码正确, 系统登录成功
MessageBox.Show("系统登录成功,正在跳转主页面...");
FrmManager manager = new FrmManager();
manager.Show();
this.Hide();
}
else
{
//否则密码错误 再次输入密码
MessageBox.Show("密码错误!请再次输入!");
//并自动将当前密码 清空
txtPwd.Text = "";
}
}
else
{
//如果读取账户数据失败, 则用户名不存在
MessageBox.Show("用户名不存在,请重新出入!");
//并自动清空账户名
txtName.Text = "";
}
}
}
}
}
}
}

运行效果展示

图一

img

图二

img

图三

img

登陆成功后 跳转到管理窗体界面

img

这样一个电影记录管理系统的登录模块就做好了.

附上源代码 (包含数据库文件)

MovieRecordManagementSystem01.zip

转自:https://www.cnblogs.com/longwu/archive/2011/09/10/2172793.html