前言
一、项目创建
二、主页面设计
三、主页面代码
1.登录按钮
2.退出按钮
3.注册按钮
4.SQL配置
5.主页总体代码
前言本次项目主要是因为我们的大作业要求要求,因为网上C#的资源不太多,因此我根据网上的资料制作了以下的小项目。
一、项目创建首先通过创建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用以创建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等信息,便于后面的开发。
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#宿舍管理系统的资料请关注软件开发网其它相关文章!