2011上机 登录界面-不同权限的处理部分

题目

数据库:(25分)

要求:

建一个数据库

1、每个公交线路都有一个司机开,而且都配有一辆公交车。

2、司机性别只能为男或女,而且年龄在20-60之间;

3、有主键、外键和约束

4、请将下面的表中数据录入数据库

5、备份数据库到你的文件夹(Backinfo中)
16:14 2016/3/18

车牌号 生产厂商

A112 北京现代

A021 日本本田

A213 美国宝马

A345 上海大众

司机(Driver)

员工号 姓名 性别 年龄 电话号码 密码

E001 张三 男 22 123 122

E020 李四 女 32 111 111

E212 王五 男 23 123 222

线路编号 始发站 终点站 距离

1 琶洲 万胜围 20

2 体育西路 客村 30

3 官洲 大学城南 10

时间表(Timetable)

线路编号 员工号 车牌号 发车时间

1 E001 A112 2011-3-26 10:13:10

2 E020 A345 2011-3-22 11:10:22

3 E212 A213 2011-3-26 08:15:1

数据库编程(75)

根据以上数据库,开发一个简单的公交车管理系统,要求如下:

1、 做一个界面,能够显示上述表格,有参数输入和输出(10分)

2、 实现对每个表的增、删、改(20分)

3、 实现根据线路编号或者始发站查询线路详细信息(5分),……(不记得了,也是查询5分)

//4、 统计某个员工的平均发车次数(不太记得了),(还有两个统计)(15分)

5、 管理员权限设置可以修改任意表,普通司机只能修改自己的信息(10分)

6、 对于你的系统,需要有完整性校验功能,对于输错的数据或者异常应该有相应的提示(10分)

创建数据库

Create database test2011;
go
use test2011
go
create table Buses
(
BusID char(8) not null,
Supplier varchar(50) not null,
constraint PK_Buses primary key (BusID)
)
go
create table Driver
(
EmpID char(8) not null,
DName varchar(50) not null,
Sex char(2) check(Sex='男' or Sex='女'),
Age int check(Age>20 and Age<60),
Tel varchar(20) null,
Pwd varchar(50) null,
constraint PK_Driver primary key(EmpID)
)
go
create table Lines
(
LineID char(8) not null,
StartP varchar(50) not null,
EndP varchar(50) not null,
Distance int null,
constraint PK_Lines primary key(LineID)
)
go
Create table Timetable
(
LineID char(8) not null,
EmpID char(8) not null,
BusID char(8) not null,
StartTime smalldatetime null,
constraint PK_Timetable primary key(LineID,EmpID,BusID),
constraint FK_Timetable_Buses foreign key(BusID) references Buses(BusID),
constraint FK_Timetable_Driver foreign key(EmpID) references Driver(EmpID),
constraint FK_Timetable_Lines foreign key(LineID) references Lines(LineID),
)
go
insert into Buses values('A112','北京现代')
insert into Buses values('A021','日本本田')
insert into Buses values('A213','美国宝马')
insert into Buses values('A345','上海大众')
go
insert into Driver values('E001','张三','男','22','123','122')
insert into Driver values('E020','李四','女','32','111','111')
insert into Driver values('E212','王五','男','23','123','222')
go

insert into Lines values('1','琶洲','万胜围','20')
insert into Lines values('2','体育西路','客村','30')
insert into Lines values('3','官洲','大学城南','10')
go

insert into Timetable values('1','E001','A112','2011-3-26 10:13:10')
insert into Timetable values('2','E020','A345','2011-3-22 11:10:22')
insert into Timetable values('3','E212','A213','2011-3-26 08:15:1')
go

界面绘制

登录界面FormMain

在这里插入图片描述

管理员界面FormMain

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

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

司机界面FormDriver

在这里插入图片描述

函数接入

登录模块

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.Data.SqlClient;
namespace Demo2011
{
    public partial class FormLogin : Form
    {
        public FormLogin()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtName.Text == "PJ" && txtPwdP.Text == "123")
            {
                FormMain fm = new FormMain();
                fm.Show();
            }
            else if (txtName.Text != null && txtPwdP.Text != null)
            {
                string sql = @"SELECT [EmpID]
                                  ,[DName]
                                  ,[Sex]
                                  ,[Age]
                                  ,[Tel]
                                  ,[Pwd]
                              FROM [test2011].[dbo].[Driver]
                               WHERE DName=@DName and Pwd=@Pwd";
                SqlParameter[] para = { new SqlParameter("@DName",txtName .Text), 
                                      new SqlParameter("@Pwd", txtPwdP.Text)};
                DataTable dt = DBHelperSQL.TableSelect(sql,para);
                if (dt != null)
                {
                    FormDriver fd = new FormDriver(txtName.Text, txtPwdP.Text);
                    fd.Show();
                }
                else
                {
                    MessageBox.Show("登录失败!\n请检查用户名和密码!");
                }
            }
            else
            {
                MessageBox.Show("登录失败!");

            }

        }

        private void btnregister_Click(object sender, EventArgs e)
        {

        }
    }
}

司机界面代码

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.Data.SqlClient;

namespace Demo2011
{
    public partial class FormDriver : Form
    {
        string name;
        string pwd;


        public FormDriver(string name,string pwd)
        {
            this.name = name;
            this.pwd = pwd;
            InitializeComponent();
        }

        private void btnDUpdate_Click(object sender, EventArgs e)
        {
            string sql = @"UPDATE [test2011].[dbo].[Driver]
                           SET [DName] = @DName,
                              [Sex] =@Sex,
                              [Age] = @Age,
                              [Tel] = @Tel, 
                              [Pwd] = @Pwd
                         WHERE [EmpID] =@EmpID";
            SqlParameter[] para = { new SqlParameter("@EmpID", txtEmpID.Text), 
                                      new SqlParameter("@DName", txtDName.Text),
                                      new SqlParameter("@Sex", txtSex.Text),
                                      new SqlParameter("@Age", txtAge.Text),
                                      new SqlParameter("@Tel", txtTel.Text),
                                      new SqlParameter("@Pwd", txtPwd.Text)};
            DBHelperSQL.TableChange(sql, para);
         
        }

        private void FormDriver_Load(object sender, EventArgs e)
        {
            string sql = @"SELECT [EmpID]
                                  ,[DName]
                                  ,[Sex]
                                  ,[Age]
                                  ,[Tel]
                                  ,[Pwd]
                              FROM [test2011].[dbo].[Driver]
                               WHERE DName=@DName and Pwd=@Pwd";
            SqlParameter[] para = { new SqlParameter("@DName",name), 
                                      new SqlParameter("@Pwd", pwd)};
            DataTable dt = DBHelperSQL.TableSelect(sql, para);
            DataRow dr = dt.Rows[0];
            txtEmpID.Text = dr["EmpID"].ToString();
            txtDName.Text = dr["DName"].ToString();
            txtSex.Text = dr["Sex"].ToString();
            txtAge.Text = dr["Age"].ToString();
            txtTel.Text = dr["Tel"].ToString();
            txtPwd.Text = dr["Pwd"].ToString();
        }

        private void btnBack_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值