create table 系别(
系号 char(2) not null primary key, 系名 char(20)not null) create table 班级(
班号 char(10) not null primary key, 班名 char(14)not null, 系号 char(10)not null) create table 教研室(
教研室号 char(10) not null primary key, 教研室名 char(20)not null, 系号 char(10)not null) create table 学生(
学号 char(14) not null primary key, 姓名 char(6)not null, 性别 char(2)not null, 班号 char(10)not null) create table 教师(
教师号 char(5) not null primary key, 姓名 char(6)not null, 教研室号 char(4)not null) create table 课程(
课程号 char(5) not null primary key, 课程名 char(20)not null, 教师号 char(5)not null, 学时 int not null, 学分 char(3)not null)
-9-
create table 成绩( 学号 char(14) not null, 课程号 char(5)not null, 成绩 char(3)not null primary key(学号,课程号)) create table 用户(
用户名 char(20) not null primary key, 密码 char(20) not null)
-10-
第3章 前台设计与实现
3.1登录模块
3.1.1登录
运行程序首先要通过登录,登录的用户名和密码存于数据库中用户表中。如无用户可注册新用户,从而进入程序。当用户名与密码不匹配时提示错误。
为了使系统美观,可通过设置背景图片来改变系统样式。
实现方法如下:引入一张要加入的图片,在要添加图片的对话框类向导中Messages中选择WM_PAINT对其编辑,在OnPaint()函数中加入如下代码:
CRect rect;
GetClientRect(&rect); CDC dcMem;
dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是对应图的ID BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
这样设置后静态文本框就显得难看了,于是再在要添加图片的对话框类向导中Messages中选择WM_CTRCOLOR对其编辑,在OnCtlColor()函数中加入如下代码:
if(nCtlColor==CTLCOLOR_STATIC) //对所有的STATIC控件的属性进行设定 { }
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
-11-
如果要使编辑框透明,则添加如下代码,这样编辑框内容会重叠,可以选择性的设置。 if(nCtlColor==CTLCOLOR_EDIT) //对所有的Edit控件的属性进行设定 { }
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
图3.1.1 登录界面
登录界面的用户名通过数据库访问代码如下: CDatabase database;
database.Open(\华北科技学院成绩管理\ CRecordset rs(&database); UpdateData(TRUE); CString str;
str.Format(\用户 where 用户名='%s'\ CRecordset rs1(&database);
rs1.Open(AFX_DB_USE_DEFAULT_TYPE,str); if(rs1.IsEOF())
-12-
{
MessageBox(\用户名输入错误!\ return; }
str.Format(\用户 where 用户名='%s'and 密码='%s'\ rs.Open(AFX_DB_USE_DEFAULT_TYPE,str); if(rs.GetRecordCount()==0) {
MessageBox(\密码输入错误!\ } else { }
database.Close(); 3.1.2注册新用户
注册用户界面如图所示,新注册的账户存于数据库中的用户表中。通过相关代码设置用户名和密码都不为空,并且弹出提示框。详细代码见附录。
CMainDlg dlg; dlg.DoModal();
//进入主界面
CNcistSSMDlg::OnCancel();
图3.1.2 注册新用户
-13-
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库应用课程设计说明书 - 学生成绩管理系统(3)在线全文阅读。
相关推荐: