已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文档系作者精心整理编辑,实用价值高。实验五开发一个小型管理程序进行数据库的管理操作-例学生信息管理系统一 实验目的:考察学生综合运用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) 从数据库中读密码语句AnsiString an1=select * from mm; an1+= where user1=+ Edit1-Text+; /定义SQL查询语句 an1+= and password1=+Edit2-Text+; ADOQuery1-SQL-Add(an1); /将SQL语句加入到缓冲区 ADOQuery1-Open(); /执行SQL语句 if (ADOQuery1-RecordCount=0) /识别是用户名及密码是否正确 ShowMessage(非法用户名或密码); Return; 7 文件存盘如图9点文件菜单save project as 图9文件按默认文件名,选一个新目录保存,如图10 图10二 综合窗口菜单的设计三信息录入判断学号是否存在:void _fastcall TForm3:Edit1Exit(TObject *Sender) AnsiString an1=select * from student where ; an1+= sno=+Edit1-Text+; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(an1); ADOQuery1-Open() ; if(ADOQuery1-RecordCount=1) ShowMessage(对不起,已经存在该学号,请重新输入); Edit1-SetFocus() ; return; 增加代码:AnsiString rq,xb; rq=ComboBox2-Text+-+ComboBox3-Text+-+ComboBox4-Text; if(Form3-RadioButton1-Checked=1) xb=男; else xb=女 ; AnsiString an1=insert into student values( ; an1+= +Form3-Edit1-Text+ ,; an1+= +Form3-Edit2-Text+ ,; an1+= +xb+ ,; an1+= +ComboBox1-Text+ ,; an1+= +rq+) ; ADOQuery1-SQL-Add(an1); ADOQuery1-ExecSQL(); ADOQuery1-Close(); ShowMessage(增加成功);四信息查询: 查询代码 AnsiString an1=select * from student where ; if(Edit1-Text!=) an1+= sno=+Edit1-Text+ and ; if(Edit2-Text!=) an1+= sname=+Edit2-Text+ and ;。其它代码自己补齐 an1+= year(csrq)1900 ; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(an1); ADOQuery1-Open() ; if(ADOQuery1-RecordCount=0) ShowMessage(对不起,没有你要查的同学); return; 五学生信息修改修改中查询代码:if(Form3-Edit1-Text=请查询输入学号) ShowMessage(请查询输入要查询的学号); return; ADOQuery1-SQL-Clear(); AnsiString an1=select sno,sname,sex,sdept,year(csrq) as nn,month(csrq) as ; an1+= yy ,day(csrq) as rr from student where ; an1+= sno=+ Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); /为各个变量赋值 Edit1-Text=ADOQuery1-FieldValuessno; Edit2-Text=ADOQuery1-FieldValuessname; AnsiString xb; xb=ADOQuery1-FieldValuessex; if(xb=男) RadioButton1-Checked=true; if(xb=女) RadioButton2-Checked=true;ComboBox1-Text=ADOQuery1-FieldValuessdept ComboBox2-Text=ADOQuery1-FieldValuesnn ; ComboBox3-Text=ADOQuery1-FieldValuesyy ; ComboBox4-Text=ADOQuery1-FieldValuesrr ; 修改代码:AnsiString xb,rq; if(RadioButton1-Checked=true) xb=男; else xb=女; rq=ComboBox2-Text+-+ComboBox3-Text+-+ComboBox4-Text; ADOQuery1-SQL-Clear(); AnsiString an1= update student set ; an1+= sno=+ Edit1-Text+ ,; an1+= sname=+ Edit2-Text+ ,; an1+= sex=+xb+, ; an1+= sdept=+ComboBox4-Text+ ,; an1+= csrq=+rq+; an1+= where sno=+ Edit1-Text+; ADOQuery1-SQL-Add(an1); ShowMessage(an1); ADOQuery1-ExecSQL() ; ShowMessage(修改成功);六信息删除删除查询代码:if(Text=) ShowMessage(请查询输入要查询的学号); return; ADOQuery1-SQL-Clear(); AnsiString an1=select * from student where ; an1+= sno=+Form4-Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); DBGrid1-DataSource=DataSource1;删除代码int aa; aa=MessageBox(NULL,真的要删除该生记录吗?,询问窗口,4); if(aa=6) ADOQuery1-SQL-Clear(); AnsiString an1=delete from student where ; an1+= sno=+Form4-Edit1-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-ExecSQL();ShowMessage(删除成功); DBGrid1-DataSource=DataSource1; else return;七统计:统计代码: ADOQuery1-SQL-Clear(); AnsiString an1=select count(sno) as xsrs from student ; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); Label2-Caption=学生人数; Label3-Caption=ADOQuery1-FieldValuesxsrs;/- ADOQuery1-SQL-Clear(); AnsiString an1=select avg(grade) as pjcj from sc ; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); Label2-Caption=平均成绩; Label3-Caption=ADOQuery1-FieldValuespjcj;/- ADOQuery1-SQL-Clear(); AnsiString an1=select count(cno) as kczs from course ; ADOQuery1-SQL-Add(an1); ADOQuery1-Open(); Label2-Caption=课程总数; Label3-Caption=ADOQuery1-FieldValueskczs八修改密码:修改密码代码: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() ; AnsiString an1=select * from mm ; an1+= where user1=+Form6-Edit1-Text+ ; an1+= and password1=+Form6-Edit2-Text+; ADOQuery1-SQL-Add(an1); ADOQuery1-Open() ; if(ADOQuery1-RecordCount=0) ShowMessage(对不起,用户名或密码错误,请重试); return; ADOQuery1-SQL-Clear() ; an1=update mm set password1=+Form6-Edit3-Text+ ; an1+= where user1=+Form6-Edit1-Text+; ADOQuery1-SQL-Add(an1); ShowMessage(an1); ADOQuery1-ExecSQL();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路工程监理实务(中央政府责任监理)考核试卷
- 2025年旅游酒店行业数字化智慧酒店建设与旅游服务提升研究报告及未来发展趋势预测
- 2025年幼儿教师游戏与节日文化整合设计能力考核试卷
- 地铁黎明运营准备安全规范2025年岗前考核试卷
- 非遗项目知识产权质押融资考核试卷
- 超导磁悬浮材料悬浮力测试考核试卷
- 2025年高中新课程改革跨学科主题学习实践案例考核试卷
- 2025年全国医疗与健康职业技能竞赛护士临床护理技能(重症肺炎患者呼吸康复护理)考核试卷
- 2025天津市武清区招聘派遣制初中教师招聘考试笔试备考试题及答案解析
- 2026国机数字科技有限公司校园招聘笔试考试备考题库及答案解析
- 大学生心理健康与发展知到智慧树章节测试课后答案2024年秋华东师范大学
- 江苏省苏州市2024-2025学年高二上学期11月期中考试地理试题(解析版)
- 聘任监理合同范例
- 工伤事故分析报告范文
- 旅游景区游客满意度提升手册
- 借款房产抵押合同
- 突发消防事故应急预案
- 昆仑银行股份有限公司招聘笔试题库2024
- 《物联网技术及其在智能建造中的应用》(中文电子课件)
- 家长会课件:小学三年级期中家长会课件
- 地铁典型事故案例分析
评论
0/150
提交评论