C#簡易電影記錄管理系統:開發一[使用者登入]

來源:互聯網
上載者:User

開篇

在現實程式開發中, 我們開發的最多,最廣泛的還是一些各類型的資料管理系統,當然不同的系統有功能上的差異,資料庫也不一樣,但最主要,最常見的功能無外乎對資料的基本操作(增刪改查).該系統開發系列記錄了整個簡易電影記錄管理系統的開發過程,絕大部分功能模組設計與實現都附上了,大部分代碼也都包含注釋,十分適合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

相關推薦 [點此查看目錄]
  • C#簡易電影記錄管理系統:開發二[增刪改查]
  • C#簡易電影記錄管理系統:開發三[密碼修改]
  • C#簡易電影記錄管理系統:開發四[日誌查看]
  • C#簡易電影記錄管理系統:開發五[使用者註冊]
  • C#簡易電影記錄管理系統:開發六[資料搜尋]
  • C#簡易電影記錄管理系統:開發七[使用者分類]
  • C#簡易電影記錄管理系統:開發八[資料備份]
  • C#簡易電影記錄管理系統:開發九[資料恢複]
  • C#簡易電影記錄管理系統:完結篇[許可權分配]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.