实验五 开发一个学生信息管理系统.docx
- 文档编号:1923401
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:18
- 大小:361.11KB
实验五 开发一个学生信息管理系统.docx
《实验五 开发一个学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《实验五 开发一个学生信息管理系统.docx(18页珍藏版)》请在冰点文库上搜索。
实验五开发一个学生信息管理系统
实验五开发一个小型管理程序进行数据库的管理操作
--例学生信息管理系统
一.实验目的:
考察学生综合运用SQL语言的能力,结合前面所学的SQL语言的相关知识,在C++BUILDER环境下开发一小型的管理系统---学生信息管理系统:
二.实验内容:
1.熟悉使用C++BUILDER的表单设计及嵌入式SQL语言的使用。
2.开发一个学生信息管理系统
(1)设计一个登录窗口,负责验证学生登录的账户名,密码
(2)学生信息录入系统主要完成学生信息的录入(学号、姓名、性别、年龄、籍贯等)加到STUDENT表中。
(3)学生信息查询,主要完成可以通过学号、姓名等查证到学生的相关信息(提高点,也可以查询学生成绩)
(4)学生信息修改:
可以修改已录入的学生相关信息。
(5)学生信息删除:
可以按学号删除学生相关信息(提高点,同时删除其它表中该学生相关信息。
参考:
一.登录窗口的完成
图1登录窗口
图2工具设置
分别用标签,文本,按纽来设计,文字更改用见图3
部分功能提示:
1.表单调用部分:
提示:
调用下一表单命令Form2->Show();
隐藏当前表单命令Form1->Hide();
注意要先用include#unit2.h包含
2.提示
提示窗口:
ShowMessage();
3.文本框取值:
Form1->Edit1->Text
变量取值:
’“+变量名+”’
4.识别为空的情况
If(Edit1->Text==””||Edit2->Text==””)
{ShowMessage("用户名或密码不得为空");
return;
}
图3属性设置
5.设置密码属性
能
图4密码属性
6.数据库的连接:
(1)建数据连接:
ADO–>ADOQuery1->connctionstring
(2)建数据源:
Dataaccess->datasource->dataset=ADOquery1见图4
图5
图6
图7
图8
(3)从数据库中读密码语句
AnsiStringan1="select*frommm";
an1+="whereuser1='"+Edit1->Text+"'";//定义SQL查询语句
an1+="andpassword1='"+Edit2->Text+"'";
ADOQuery1->SQL->Add(an1);//将SQL语句加入到缓冲区
ADOQuery1->Open();//执行SQL语句
if(ADOQuery1->RecordCount==0)//识别是用户名及密码是否正确
{ShowMessage("非法用户名或密码");
Return;
}
7.文件存盘
如图9点文件菜单saveprojectas
图9
文件按默认文件名,选一个新目录保存,如图10
图10
二.综合窗口
菜单的设计
三.信息录入
判断学号是否存在:
void__fastcallTForm3:
:
Edit1Exit(TObject*Sender)
{AnsiStringan1="select*fromstudentwhere";
an1+="sno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==1)
{ShowMessage("对不起,已经存在该学号,请重新输入");
Edit1->SetFocus();
return;
}
}
增加代码:
AnsiStringrq,xb;
if(Edit1->Text==""||Edit2->Text=="")
{ShowMessage("对不起,学号或密码不得为空");
return;
}
if(ComboBox1->Text=="请选择系")
{ShowMessage("对不起,请选择系部");
return;
}
if(ComboBox2->Text=="请选择"||ComboBox3->Text=="请选择"||ComboBox4->Text=="请选择")
{ShowMessage("对不起,请选择出生日期");
return;
}
rq=ComboBox2->Text+"-"+ComboBox3->Text+"-"+ComboBox4->Text;
if(Form3->RadioButton1->Checked==1)
{xb="男";}
else
{xb="女";}
AnsiStringan1="insertintostudentvalues(";
an1+="'"+Form3->Edit1->Text+"',";
an1+="'"+Form3->Edit2->Text+"',";
an1+="'"+xb+"',";
an1+="'"+ComboBox1->Text+"',";
an1+="'"+rq+"')";
ADOQuery1->SQL->Add(an1);
ADOQuery1->ExecSQL();
ADOQuery1->Close();
ShowMessage("增加成功");
四.信息查询:
查询代码
AnsiStringxb,an1;
an1="select*fromstudent";
if(Edit1->Text!
="")
an1+="wheresno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==0)
{ShowMessage("对不起,查无此人请重试!
");
return;
}
第一条
ADOQuery1->First();
上一条
ADOQuery1->Prior();
下一条
ADOQuery1->Next();
最后一条
ADOQuery1->Last();
五.学生信息修改
修改中查询代码:
AnsiStringan1;
if(Edit1->Text=="")
{ShowMessage("对不起,学号不得为空");
return;
}
an1="select*fromstudentwheresno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==0)
{ShowMessage("对不起,学号不正确,请重输入");
return;
}
Edit2->Text=ADOQuery1->FieldValues["sname"];
ComboBox1->Text=ADOQuery1->FieldValues["sdept"];
修改代码:
if(Edit2->Text=="")
{ShowMessage("对不起,姓名不得为空");
return;
}
if(ComboBox1->Text=="请选择")
{ShowMessage("对不起,选择系部");
return;
}
AnsiStringan1="updatestudentsetsname='"+Edit2->Text+"',sdept='"+ComboBox1->Text+"'";
an1+="wheresno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->ExecSQL();
ShowMessage("修改成功!
");
六.信息删除
删除查询代码:
AnsiStringan1;
if(Edit1->Text=="")
{ShowMessage("对不起,学号不得为空");
return;
}
an1="select*fromstudentwheresno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==0)
{ShowMessage("对不起,学号不正确,请重输入");
return;
}
删除代码
intaa;
aa=MessageBox(NULL,"真的要删除吗","删除窗口",4);
if(aa==6)
{
AnsiStringan1="deletefromstudentwheresno='"+Edit1->Text+"'";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->ExecSQL();
ShowMessage("删除成功!
");
}
else
return;
七.统计:
统计代码:
AnsiStringan1;
an1="selectcount(*)as学生人数,avg(2014-year(csrq))as平均年龄fromstudent";
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==0)
{ShowMessage("对不起,目前没有学生");
return;
}
八.修改密码:
修改密码代码:
if(Edit1->Text==""||Form6->Edit2->Text=="")
{ShowMessage("对不起,用户名或密码不得为空");
return;
}
ifEdit3->Text==""||Form6->Edit4->Text=="")
{ShowMessage("对不起,输入新密码也不能为空");
return;
}
if(Edit3->Text!
=Form6->Edit4->Text)
{ShowMessage("两次密码不一致");
return;
}
ADOQuery1->SQL->Clear();
AnsiStringan1="select*frommm";
an1+="whereuser1='"+Form6->Edit1->Text+"'";
an1+="andpassword1='"+Form6->Edit2->Text+"'";
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
if(ADOQuery1->RecordCount==0)
{ShowMessage("对不起,用户名或密码错误,请重试");
return;
}
ADOQuery1->SQL->Clear();
an1="updatemmsetpassword1='"+Form6->Edit3->Text+"'";
an1+="whereuser1='"+Form6->Edit1->Text+"'";
ADOQuery1->SQL->Add(an1);
ShowMessage(an1);
ADOQuery1->ExecSQL();
ShowMessage("密码修改成功");
循环参考语句:
for(i=1961;i<=1990;i++)
{ComboBox2->Items->Add(i);}
刷新:
(重置)
Edit1->Text="";
Form4->Edit2->Text="";
RadioButton1->Checked=false;
RadioButton2->Checked=false;
ComboBox2->Text!
="请选择";
ComboBox3->Text!
="请选择";
ComboBox1->Text!
="";
Form4->Refresh();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验五 开发一个学生信息管理系统 实验 开发 一个 学生 信息管理 系统