基于C#實現宿舍管理系統
前言
本次項目主要是因為我們的大作業(yè)要求要求,因為網上C#的資源不太多,因此我根據網上的資料制作了以下的小項目。
一、項目創(chuàng)建
首先通過創(chuàng)建C#的Windows窗體應用程序,名字可以自行設置,框架可以選用默認的。

二、主頁面設計
這是我的項目主頁面,主要包括4個Label類,3個Button類,2個radioButton1,1個pictureBox1。主要的設計界面就如圖所示。命名和圖片大家可以自行的設置,通過對組件的Text屬性進行設置,radioButton具有一個Checked屬性,可以控制默認的多選框。(例如我的在用戶)

三、主頁面代碼
主頁面代碼主要包括驗證登錄信息,通過與SQL查詢來驗證用戶信息,以及打開對象的對話框。
1.登錄按鈕
首先我們寫一個Login的登錄方法用來判斷登錄,隨后會跳轉到別的窗口(會在下一次的教程中編寫)。代碼如下。
public void Login() {
//用戶
if (radioButton1.Checked == true) {
DataBase DB = new DataBase();
string sql = $"select * from [User] where id='{textBox1.Text}' and password='{textBox2.Text}'" ;
IDataReader dc = DB.read(sql);
if (dc.Read())
{
Data.UID = dc["id"].ToString();
Data.UName = dc["name"].ToString();
MessageBox.Show("登錄成功");
User1 user = new User1();
this.Hide();
user.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陸失敗");
}
DB.Close();
}
//管理員
if (radioButton2.Checked == true) {
DataBase DB = new DataBase();
string sql = $"select * from [Admin] where id='{textBox1.Text}' and password='{textBox2.Text}'";
IDataReader dc = DB.read(sql);
if (dc.Read())
{
MessageBox.Show("登錄成功");
Admin1 admin = new Admin1();
this.Hide();
admin.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陸失敗");
}
DB.Close();
}
}
隨后雙擊登錄button,輸入以下代碼,用以判斷空值。
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != "")
{
Login();
}
else
{
MessageBox.Show("輸入有空,請重新輸入");
}
}
2.退出按鈕
這個按鈕就沒啥難點直接上代碼了,雙擊退出Button。
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
3.注冊按鈕
用以跳轉的按鈕,也是雙擊注冊Button,同樣的跳轉的窗口將在下次教程中講解。
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
4.SQL配置
隨后我們的代碼里還要新建一個DataBase.cs用以創(chuàng)建SQL連接。代碼如下。

using System.Data.SqlClient;
namespace HomeWork
{
class DataBase
{
SqlConnection sc;
public SqlConnection connect() {
string str= @"Data Source=.;Initial Catalog=DormitoryDB;integrated security=true"; //位置(這個地方根據自己的需要修改)
sc = new SqlConnection(str); //連接
sc.Open(); //打開
return sc; //返回對象
}
public SqlCommand command(string sql) {
SqlCommand cmd = new SqlCommand(sql, connect());
return cmd;
}
public int Execute(string sql) //更新
{
return command(sql).ExecuteNonQuery();
}
public SqlDataReader read(string sql) //讀取
{
return command(sql).ExecuteReader();
}
public void Close() {
sc.Close();
}
}
}
(1)SQL打開
代碼都有了但是SQL配置還未完成。首先你得安裝SQL數據庫打開

(2)SQL登錄
我用的是默認Windows身份驗證,也可以用管理員登錄。

(3)新建數據庫
登錄后新建一個數據庫,如下。

(3)新建數據表
之后根據自己的需要新建表格。我將我的數據表展示一下。(可能不太嚴謹因為我的水平也有限)




5.主頁總體代碼
還需要一個Data類用以保存用戶的ID等信息,便于后面的開發(fā)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HomeWork
{
class Data
{
public static string UID = "", UName = ""; //用戶名和ID
}
}
using System;
using System.Data;
using System.Windows.Forms;
namespace HomeWork
{
public partial class Index : Form
{
public Index()
{
InitializeComponent();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != "")
{
Login();
}
else
{
MessageBox.Show("輸入有空,請重新輸入");
}
}
//登錄方法
public void Login() {
//用戶
if (radioButton1.Checked == true) {
DataBase DB = new DataBase();
string sql = $"select * from [User] where id='{textBox1.Text}' and password='{textBox2.Text}'" ;
IDataReader dc = DB.read(sql);
if (dc.Read())
{
Data.UID = dc["id"].ToString();
Data.UName = dc["name"].ToString();
MessageBox.Show("登錄成功");
User1 user = new User1();
this.Hide();
user.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陸失敗");
}
DB.Close();
}
//管理員
if (radioButton2.Checked == true) {
DataBase DB = new DataBase();
string sql = $"select * from [Admin] where id='{textBox1.Text}' and password='{textBox2.Text}'";
IDataReader dc = DB.read(sql);
if (dc.Read())
{
MessageBox.Show("登錄成功");
Admin1 admin = new Admin1();
this.Hide();
admin.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陸失敗");
}
DB.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
register register = new register();
register.ShowDialog();
}
}
}
以上就是基于C#實現宿舍管理系統的詳細內容,更多關于C#宿舍管理系統的資料請關注腳本之家其它相關文章!

