• 基于C#的房屋租赁管理系统设计与实现


    目录
    第一章 引言 3
    第二章 系统分析与设计 4
    2.1 需求分析 4
    设计流程图: 4
    2.2数据库概念结构设计 5
    E-R图 5
    2.3数据库的创建 6
    管理员表: 6
    房屋表: 7
    用户信息表: 7
    房屋租贷表: 7
    财务报表: 7
    收费标准表: 8
    第三章 软件功能及相关技术介绍 9
    3.1登录模块 9
    点击登录按钮事件: 9
    3.2主界面模块 10
    3.3房屋信息管理模块 11
    3.4用户信息管理模块 13
    3.5租贷信息管理模块 14
    3.6水电费信息管理模块 14
    3.7财务收支管理模块 15
    3.7管理员信息管理模块 16
    3.8收费标准设置模块 16
    3.9管理员密码更改模块 17
    第四章 总结 17
    第二章系统分析与设计

    2.1 需求分析
    通过对任务的分析,可以发现运行的系统要能实现以下的功能:
    (1)登录管理:实现以正确的员工号、密码和登录人员身份才能登陆系统的功能,正确登录之后才能进行之后的管理。
    (2)房屋信息管理:包括添加新的房屋信息、修改房屋信息、查询房屋信息、删除房屋信息。
    (3)用户信息管理:包括添加新的用户信息、修改用户信息、查询用户信息、删除用户信息。
    (4)租赁信息管理:包括查询某个房屋的租赁状况、添加租赁关系、删除租赁关系。
    (5)水电费用管理:包括水电费用的查询、添加、修改、删除。
    (6)财务收支记录:添加公司的财务记录(不允许修改和删除)。
    (7)收费项目设置:设置水费、电费、物业费、宽带费单价及财务余额。
    (8)管理员信息维护/密码修改:本文转载自http://www.biyezuopin.vip/onews.asp?id=15220若登陆用户为超级管理员(admin),则可以管理其他员工的信息,否则就只有修改自己密码的权限。

    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.Text.RegularExpressions;
    namespace 租房管理系统
    {
        public partial class 房屋信息管理 : Form
        {
            
            public 房屋信息管理()
            {
                InitializeComponent();
            }
    
            DBAccess dbAccess = DBAccess.GetInstance();
            DataSet dataset;
            string SqlCommand;
    
            public bool IsNum(String strNumber) 
            { 
                Regex objNotNumberPattern = new Regex("[^0-9.-]");
                Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*"); 
                Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*"); 
                String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$"; 
                String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
                Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")"); 
                return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber); 
            }
            private void Roominf_Load(object sender, EventArgs e)
            {
                ShowData(); // 将房屋信息全部显示到界面上
            }
    
            // 查询房屋信息管理,点击查询按钮
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    string chaxunfangshi = "房屋编号"; // chaxunfangshi 查询方式
                    if (comboBox1.SelectedItem.ToString().Equals("房屋编号"))
                        chaxunfangshi = "房屋编号";
                    else if (comboBox1.SelectedItem.ToString().Equals("房屋区域"))
                        chaxunfangshi = "房屋区域";
                    else if (comboBox1.SelectedItem.ToString().Equals("房屋名称"))
                        chaxunfangshi = "房屋名称";
                    else if (comboBox1.SelectedItem.ToString().Equals("房屋状态"))
                        chaxunfangshi = "房屋状态";
    
                   
                    if (textBox1.Text.Trim() == "")
                    {
                        SqlCommand = "select * from 房屋信息表 ";  //查询所有结果
                    }
                    else
                    {
                        SqlCommand = "select * from 房屋信息表 where " + chaxunfangshi + " like '%" 
                            + textBox1.Text + "%'"; // 按条件查询
                    }
                    // 将查询结果放到 是视图表中
                    dataset = dbAccess.GetDataset(SqlCommand, "房屋信息表");
                    roomdataGridView.DataSource = dataset.Tables[0];
                }
                catch (Exception)
                {
                    MessageBox.Show("查询失败!");
                }
    
            }
            //  添加房屋信息 
            private void buttonadd_Click(object sender, EventArgs e)
            {
                try
                {
                    // 读取界面所填内容
                    string num, mianji, mingzi, weizhi, leixing, zhuangxiu, sheshi, yongtu, jiage, zhuangtai, beizhu;
                    string sqltext;
                    num = textBox2.Text;
                    weizhi = textBox3.Text;
                    mingzi = textBox4.Text;
                    leixing = textBox5.Text;
                    mianji = textBox6.Text;
                    zhuangxiu = comboBox2.SelectedItem.ToString();
                    sheshi = textBox7.Text;
                    yongtu = comboBox3.SelectedItem.ToString();
                    jiage = textBox8.Text;
                    zhuangtai = comboBox4.SelectedItem.ToString();
                    beizhu = textBox9.Text;
    
                    if ((!IsNum(mianji)) || (!IsNum(jiage))) //判断面积或价格是否为数字
                    {
                        MessageBox.Show("面积或价格不是数字");
                    }
                    else
                    {
                        sqltext = "insert into 房屋信息表(房屋编号,房屋位置,房屋名称,房屋类型,房屋面积,装修状况,屋内设施,房屋用途,房屋价格,房屋状态,备注信息)" +
                            "values('" + num + "','" + weizhi + "','" + mingzi + "','" + leixing + "','" + mianji + "','" + zhuangxiu + "','" 
                            + sheshi + "','" + yongtu + "','" + jiage + "','" + zhuangtai + "','" + beizhu + "')";
                        dbAccess.GetSQLCommand(sqltext); //添加房屋信息到数据库中
    
                        ShowData(); // 将房屋信息全部显示到界面上
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("添加失败!"); 
                }
                
            }
    
            // 将房屋信息全部显示到界面上
            private void ShowData()
            {
                SqlCommand = "select * from 房屋信息表 ";  //查询所有结果
                                                      // 将查询结果放到 是视图表中
                dataset = dbAccess.GetDataset(SqlCommand, "房屋信息表");
                roomdataGridView.DataSource = dataset.Tables[0];
            }
    
            // 加载数据到显示框中
            private void button2_Click(object sender, EventArgs e)
            {
                ShowData(); // 将房屋信息全部显示到界面上
            }
    
            // 提交修改 修改房屋基本信息
            private void button3_Click(object sender, EventArgs e)
            {
                try
                {
                    string num, mianji, mingzi, weizhi, leixing, zhuangxiu, sheshi, yongtu, jiage, zhuangtai, beizhu;
                    string sqltext;
                    num = textBox17.Text;
                    weizhi = textBox16.Text;
                    mingzi = textBox15.Text;
                    leixing = textBox14.Text;
                    mianji = textBox13.Text;
                    zhuangxiu = comboBox7.SelectedItem.ToString();
                    sheshi = textBox12.Text;
                    yongtu = comboBox6.SelectedItem.ToString();
                    jiage = textBox11.Text;
                    zhuangtai = comboBox5.SelectedItem.ToString();
                    beizhu = textBox10.Text;
                    if ((!IsNum(mianji)) || (!IsNum(jiage)))
                    {
                        MessageBox.Show("面积或价格不是数字");
                    }
                    else
                    {
                        MessageBox.Show("确定修改吗?");
    
                        sqltext = "update 房屋信息表 set 房屋位置='" + weizhi + "',房屋名称='" + mingzi + "',房屋类型='" 
                            + leixing + "',房屋面积='" + mianji + "',装修状况='" + zhuangxiu + "',屋内设施='" 
                            + sheshi + "',房屋用途='" + yongtu + "',房屋价格='" + jiage + "',房屋状态='" 
                            + zhuangtai + "',备注信息='" + beizhu + "' where 房屋编号='" + num + "'";
                        dbAccess.GetSQLCommand(sqltext); // 修改房屋信息
                        ShowData(); // 将修改后的信息显示到界面上
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("修改失败!");
                }
    
            }
    
            // 删除房屋信息按钮响应
            private void button4_Click(object sender, EventArgs e)
            {
                try
                {
                    string num, sqltext;
                    num = textBox18.Text;
                    sqltext = "delete from 房屋信息表 where 房屋编号='" + num + "'";
                    dbAccess.GetSQLCommand(sqltext); // 删除房屋信息
                    ShowData(); // 将删除后的信息显示到界面上
                }
                catch (Exception)
                {
                    MessageBox.Show("删除失败!");
                }
    
            }
    
            // 点击单元格,本行数据显示到相应的控件中
            private void roomdataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                int row = 0; //行号
                if (roomdataGridView.RowCount > 1)
                {
                    // 填充文本框内容
                    row = roomdataGridView.CurrentCell.RowIndex;// 获得当前所点击的行数
    
                    textBox17.Text = roomdataGridView[0, row].Value.ToString();
                    textBox16.Text = roomdataGridView[1, row].Value.ToString();
                    textBox15.Text = roomdataGridView[2, row].Value.ToString();
                    textBox14.Text = roomdataGridView[3, row].Value.ToString();
                    textBox13.Text = roomdataGridView[4, row].Value.ToString();
                    comboBox7.Text = roomdataGridView[5, row].Value.ToString();
                    textBox12.Text = roomdataGridView[6, row].Value.ToString();
                    comboBox6.Text = roomdataGridView[7, row].Value.ToString();
                    textBox11.Text = roomdataGridView[8, row].Value.ToString();
                    comboBox5.Text = roomdataGridView[9, row].Value.ToString();
                    textBox10.Text = roomdataGridView[10, row].Value.ToString();
    
                    textBox18.Text = roomdataGridView[0, row].Value.ToString(); // 将房屋编号加到删除的房屋编号控件中去
                }
            }
        }
    }
    
    
    • 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
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    消除springboot+thymeleaf时页面的红色波浪线告警
    QStyleFactor和QPalette
    Kubernetes Kubelet 线程泄漏
    Go语言进阶,结构体与json字符串格式的互相转换
    Redis (一)
    OpenAI发布会中不起眼的重大更新
    depthimage-to-laserscan
    Linux的权限管理操作
    扩散模型又杀疯了!这一次被攻占的领域是...
    数据结构八大排序Java源码
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/126760169