数据库实验四

这周做了登录界面,加上了验证码,密码使用MD5加密,用户可以上传照片~ 另外,我也把后序需要的表都建好啦!

这里贴上获取验证码的代码:(采用随机数Random实现)

private void Loading(object sender, EventArgs e)
        {
            //随机实例化 
            Random ran = new Random();
            int number;
            char code1;
            //取四个数 
            for (int i = 0; i < 4 ; i++)
            {
                number = ran.Next();
                if (number % 2 == 0)
                    code1 = (char)('0' + (char)(number % 10));
                else
                    code1 = (char)('A' + (char)(number % 26));  

                this.code += code1.ToString();
            }

            label5.Text = code;
        }

密码按照老师的要求采用MD5加密:

public static string MD5(string source)
{
      byte[] sor = Encoding.UTF8.GetBytes(source);
      MD5 md5 = MD5.Create();
      byte[] result = md5.ComputeHash(sor);
      StringBuilder strbul = new StringBuilder(40);
      for (int i = 0; i < result.Length; i++)
      {
             strbul.Append(result[i].ToString("x2"));          
      }
            return strbul.ToString();
}

用户上传图片功能实现:

private void uploadPicture(object sender, EventArgs e)
{
     OpenFileDialog openFileDialog = new OpenFileDialog();
     openFileDialog.ShowDialog();//打开浏览图片对话框
     string picturePath = openFileDialog.FileName;//获取图片路径
     FileStream fs = new FileStream(picturePath, FileMode.Open, FileAccess.Read);
     mybyte = new byte[fs.Length];
     fs.Read(mybyte, 0, mybyte.Length);//offset -- 偏移量开始存储字符的位置,mybyte为缓冲区
     DialogResult result = MessageBox.Show("上传后,照片将不能更改,确定上传嘛?", "Tips",   MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);//取出按钮结果
      if (result == DialogResult.OK)
      {
          pictureBox1.Image = Image.FromStream(fs);//从fs数据流创建图像
            }
            fs.Close();
      }

注册代码:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
     FormRegister formregister = new FormRegister();
     formregister.ShowDialog();
}

我还把需要的表基本建立好啦,上代码

DROP TABLE IF EXISTS SC
DROP TABLE IF EXISTS Student
DROP TABLE IF EXISTS Course
DROP TABLE IF EXISTS SysUser
DROP TABLE IF EXISTS SyUser
DROP TABLE IF EXISTS SysLog

CREATE TABLE SysUser          
 (	
 UserID NCHAR(20) PRIMARY KEY,                          
 UserPassWord NCHAR(32) ,             
 UserSchoolID NCHAR(20),
 UserMobile NCHAR(11),
 UserBirthday datetime,
 UserIdentity NCHAR(20),
 UserPhoto image
 ); 
CREATE TABLE SyUser          
 (	
 UserID NCHAR(20) PRIMARY KEY,                          
 UserPassWord NCHAR(32) ,             
 UserSchoolID NCHAR(20),
 UserMobile NCHAR(11),
 UserBirthday datetime,
 UserIdentity NCHAR(20),
 UserPhoto image
 ); 

 CREATE TABLE SysLog          
 (	
 UserID NCHAR(20) ,                          
 DateAndTime datetime,
 UserOperation NCHAR(200)
 ); 

CREATE TABLE Student          
 (	
 Sno CHAR(9) PRIMARY KEY,      
 Sname CHAR(20) UNIQUE,            
 Ssex CHAR(2),
 Sage SMALLINT,
 Sdept CHAR(20)
 ); 

CREATE TABLE  Course
 (	
 Cno CHAR(4) PRIMARY KEY,
 Cname CHAR(40),            
 Cpno CHAR(4),               	                      
 Ccredit SMALLINT,
 FOREIGN KEY (Cpno) REFERENCES  Course(Cno) 
 ); 

CREATE TABLE  SC
 (
 Sno CHAR(9), 
 Cno CHAR(4),  
 Grade SMALLINT,
 PRIMARY KEY (Sno,Cno),                     /* 主码由两个属性构成,必须作为表级完整性进行定义*/
 FOREIGN KEY (Sno) REFERENCES Student(Sno),  /* 表级完整性约束条件,Sno是外码,被参照表是Student */
 FOREIGN KEY (Cno)REFERENCES Course(Cno)     /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
 ); 


INSERT  INTO  Student (Sno,Sname,Ssex,Sdept,Sage) VALUES ('201215121','李勇','男','CS',20);
INSERT  INTO  Student (Sno,Sname,Ssex,Sdept,Sage) VALUES ('201215122','刘晨','女','CS',19);
INSERT  INTO  Student (Sno,Sname,Ssex,Sdept,Sage) VALUES ('201215123','王敏','女','MA',18);
INSERT  INTO  Student (Sno,Sname,Ssex,Sdept,Sage) VALUES ('201215125','张立','男','IS',19);
INSERT  INTO  Student (Sno,Sname,Ssex,Sdept,Sage) VALUES ('201215128','陈冬','男','IS',20);

SELECT * FROM Student

INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('1','数据库',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('2','数学',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('3','信息系统',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('4','操作系统',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('5','数据结构',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('6','数据处理',NULL,4);
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)	VALUES ('7','Pascal语言',NULL,4);

UPDATE Course SET Cpno = '5' WHERE Cno = '1' 
UPDATE Course SET Cpno = '1' WHERE Cno = '3' 
UPDATE Course SET Cpno = '6' WHERE Cno = '4' 
UPDATE Course SET Cpno = '7' WHERE Cno = '5' 
UPDATE Course SET Cpno = '6' WHERE Cno = '7' 

SELECT * FROM Course

INSERT  INTO SC(Sno,Cno,Grade) VALUES ('201215121 ','1',92);
INSERT  INTO SC(Sno,Cno,Grade) VALUES ('201215121 ','2',85);
INSERT  INTO SC(Sno,Cno,Grade) VALUES ('201215121 ','3',88);
INSERT  INTO SC(Sno,Cno,Grade) VALUES ('201215122 ','2',90);
INSERT  INTO SC(Sno,Cno,Grade) VALUES ('201215122 ','3',80);

SELECT * FROM SC

还不太熟练,基础有一丢丢差,所以推进稍微有点慢~
周六日一直在做,但是刚才出了一个小报错,现在没有办法运行了,我正在努力修改中,所以截图没有办法放上来,下周一定把截图放上~

你可能感兴趣的:(数据库实验四)