实验五开发一个学生信息管理系统.docx

上传人:b****2 文档编号:1912439 上传时间:2022-10-25 格式:DOCX 页数:17 大小:355.73KB
下载 相关 举报
实验五开发一个学生信息管理系统.docx_第1页
第1页 / 共17页
实验五开发一个学生信息管理系统.docx_第2页
第2页 / 共17页
实验五开发一个学生信息管理系统.docx_第3页
第3页 / 共17页
实验五开发一个学生信息管理系统.docx_第4页
第4页 / 共17页
实验五开发一个学生信息管理系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

实验五开发一个学生信息管理系统.docx

《实验五开发一个学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《实验五开发一个学生信息管理系统.docx(17页珍藏版)》请在冰豆网上搜索。

实验五开发一个学生信息管理系统.docx

实验五开发一个学生信息管理系统

实验五开发一个小型管理程序进行数据库的管理操作

--例学生信息管理系统

一.实验目的:

考察学生综合运用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;

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("增加成功");

四.信息查询:

查询代码

AnsiStringan1="select*fromstudentwhere";

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();

AnsiStringan1="selectsno,sname,sex,sdept,year(csrq)asnn,month(csrq)as";

an1+="yy,day(csrq)asrrfromstudentwhere";

an1+="sno='"+Edit1->Text+"'";

ADOQuery1->SQL->Add(an1);

ADOQuery1->Open();

//为各个变量赋值

Edit1->Text=ADOQuery1->FieldValues["sno"];

Edit2->Text=ADOQuery1->FieldValues["sname"];

AnsiStringxb;

xb=ADOQuery1->FieldValues["sex"];

if(xb=="男")

{RadioButton1->Checked=true;}

if(xb=="女")

{RadioButton2->Checked=true;}

ComboBox1->Text=ADOQuery1->FieldValues["sdept"]

ComboBox2->Text=ADOQuery1->FieldValues["nn"];

ComboBox3->Text=ADOQuery1->FieldValues["yy"];

ComboBox4->Text=ADOQuery1->FieldValues["rr"];

修改代码:

AnsiStringxb,rq;

if(RadioButton1->Checked==true)

{xb="男";}

else

{xb="女";}

rq=ComboBox2->Text+'-'+ComboBox3->Text+'-'+ComboBox4->Text;

ADOQuery1->SQL->Clear();

AnsiStringan1="updatestudentset";

an1+="sno='"+Edit1->Text+"',";

an1+="sname='"+Edit2->Text+"',";

an1+="sex='"+xb+"',";

an1+="sdept='"+ComboBox4->Text+"',";

an1+="csrq='"+rq+"'";

an1+="wheresno='"+Edit1->Text+"'";

ADOQuery1->SQL->Add(an1);

ShowMessage(an1);

ADOQuery1->ExecSQL();

ShowMessage("修改成功");

六.信息删除

删除查询代码:

if(Text=="")

{ShowMessage("请查询输入要查询的学号");

return;

}

ADOQuery1->SQL->Clear();

AnsiStringan1="select*fromstudentwhere";

an1+="sno='"+Form4->Edit1->Text+"'";

ADOQuery1->SQL->Add(an1);

ADOQuery1->Open();

DBGrid1->DataSource=DataSource1;

删除代码

intaa;

aa=MessageBox(NULL,"真的要删除该生记录吗?

","询问窗口",4);

if(aa==6)

{ADOQuery1->SQL->Clear();

AnsiStringan1="deletefromstudentwhere";

an1+="sno='"+Form4->Edit1->Text+"'";

ADOQuery1->SQL->Add(an1);

ADOQuery1->ExecSQL();

ShowMessage("删除成功");

DBGrid1->DataSource=DataSource1;}

else

{return;}

七.统计:

统计代码:

ADOQuery1->SQL->Clear();

AnsiStringan1="selectcount(sno)asxsrsfromstudent";

ADOQuery1->SQL->Add(an1);

ADOQuery1->Open();

Label2->Caption="学生人数";

Label3->Caption=ADOQuery1->FieldValues["xsrs"];

//---------------------------------------------------------------------------

ADOQuery1->SQL->Clear();

AnsiStringan1="selectavg(grade)aspjcjfromsc";

ADOQuery1->SQL->Add(an1);

ADOQuery1->Open();

Label2->Caption="平均成绩";

Label3->Caption=ADOQuery1->FieldValues["pjcj"];

}

//----------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1