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

开篇

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

 

本期概述

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

 

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

1.新建项目

 

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

 

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

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

 

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

 

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

 

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

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

 

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

 

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

1.新建一个数据库

 

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

 

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

 

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

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

 

5.设置MId 的主键

 

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

 

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

 

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

 

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

 

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

 

这样,数据库便建好了.

 

接下来设置登录窗体

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

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

 

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

 

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

<?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程序集的引用. 

图一

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

 

图二

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

 

图三

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

 

图四

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

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

 

添加位置 如下图

 

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

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

 

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

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

 

完整代码如下

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 = "";
                        }
                    }
                }
            }
        }
    }
}

运行效果展示

图一

图二

 

图三

 

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

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

 

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

MovieRecordManagementSystem01.zip

相关推荐 [点此查看目录]

posted @ 2011-09-10 23:35  SilverSky(Jason)  阅读(19112)  评论(57编辑  收藏  举报