小型学生信息管理系统实验报告数据库proc.docx

上传人:b****3 文档编号:11191830 上传时间:2023-05-29 格式:DOCX 页数:14 大小:534.11KB
下载 相关 举报
小型学生信息管理系统实验报告数据库proc.docx_第1页
第1页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第2页
第2页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第3页
第3页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第4页
第4页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第5页
第5页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第6页
第6页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第7页
第7页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第8页
第8页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第9页
第9页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第10页
第10页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第11页
第11页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第12页
第12页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第13页
第13页 / 共14页
小型学生信息管理系统实验报告数据库proc.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

小型学生信息管理系统实验报告数据库proc.docx

《小型学生信息管理系统实验报告数据库proc.docx》由会员分享,可在线阅读,更多相关《小型学生信息管理系统实验报告数据库proc.docx(14页珍藏版)》请在冰点文库上搜索。

小型学生信息管理系统实验报告数据库proc.docx

小型学生信息管理系统实验报告数据库proc

 

大连民族学院

计算机科学与工程学院实验报告

实验题目:

数据库应用系统的初步开发

课程名称:

数据库系统概论(实验课)

实验类型:

□演示性□验证性□操作性□设计性■综合性

专业:

软件工程班级:

083班

学生姓名:

陈婧学号:

2008082304

实验日期:

2010年6月3日

实验地点:

计算机学院多媒体机房

(一)

实验学时:

6学时实验成绩:

指导教师签字:

年月日

 

一.实验题目:

数据库应用系统的初步开发---小型学生信息管理系统的开发

二.实验目的:

掌握的嵌入式SQL并进行综合应用。

利用开发工具(VC)设计实现简单的数据库应用系统(学生信息管理系统),并做到界面友好、使用方便。

三.实验内容:

对学生信息表用proc完成以下任务:

打印出所有学生的基本信息。

可以交互式的添加一个新的学生。

可以根据某个学生的学号交互式的修改该学生的年龄。

可以根据该学生的学号交互式的删除该学生的信息。

四.实验步骤:

为防止实验结果出现乱码,重新配置Oracle数据库服务,启动OracleOraHome90TNSListener和OracleServiceORCL服务。

连接数据库:

sqlplus/nolog↙

connsystem/system@orcl↙

创建学生信息表cj_s,SQL语句为:

createtablecj_s(

snovarchar2(10),

snamevarchar2(10),

ssexvarchar2

(2),

sageint,sdeptvarchar2(20));

编写扩展名为".pc"的文件

编译源代码:

在DOS中找到pc文件所在的路径,并使用命令使其生成c源文件(proc命令)

执行编译后生成的“.c”文件,用VC打开生成的c源文件,编译运行即可

VC编译器配置

a.在VC编译器中,选择“工具->选项”,在弹出的对话框中找到“目录”选项,下拉列表中分别选择“includefiles”和“libraryfiles”,并分别向其中添加Oracle安装目录中“precomp/public”和“precomp/lib/MSVC”路径,具体视本机器上Oracle的安装路径而定。

b.在VC编译器中,选择“工程->设置”,在弹出的选项卡中选择“连接”选项,在其“类库模块”中添加Oracle安装目录中“precomp/lib/MSVC”路径下的lib文件(oraSQL10.liboraSQX10.lib)。

五.实验代码:

#include

#include

#include

#include

#include

execsqlincludesqlca;

intmain()

{

execsqlincludesqlca;/*定义SQL通信区*/

execsqlbegindeclaresection;

/*主变量说明开始*/

chars_no[10];

chars_name[10];

chars_sex[2];

ints_age;

chars_dept[20];

intsel;

intcount;

charuser_name[50],user_pwd[20],net_name[20];

voidmenu();/*友好界面函数声明*/

execsqlenddeclaresection;

/*主变量声明结束*/

printf("pleaseenterusername:

");

scanf("%s",user_name);

getchar();

printf("pleaseenterpassword:

");

scanf("%s",user_pwd);

getchar();

printf("pleaseenternetName:

");

scanf("%s",net_name);

getchar();

execsqlconnect:

user_name/*连接数据库*/

identifiedby:

user_pwdusing:

net_name;

while

(1){

menu();

scanf("%d",&sel);

getchar();

system("cls");

switch(sel)

{

case1:

{

count=0;

execsqldeclaresxcursorfor/*定义游标sx*/

select*

fromcj_s;/*sx对应的语句*/

execsqlopensx;

/*打开游标sx,指向查询结果的第一行*/

for(;;)

/*用循环结构逐条处理结果集中的记录*/

{

execsqlfetchsxinto

:

s_no,:

s_name,:

s_sex,:

s_age,:

s_dept;/*推进游标,将当前数据放入主变量*/

if(sqlca.sqlcode!

=0)/*sqlcode!

=0,表示操作不成功*/

{

if(count==0)

{

printf("没有任何学生信息!

\n");

break;

}

break;

}

if(count++==0)

{

printf("-------------------学生信息遍历表-------------------\n");

printf("学号姓名性别年龄院系\n");

}

printf("%s%10s%2s%10d%28s\n",s_no,s_name,s_sex,s_age,s_dept);

}

execsqlclosesx;/*关闭游标*/

execsqlcommitwork;/*提交更新*/

getchar();

break;

}

case2:

{

printf("请输入要添加学生的学号:

");

scanf("%s",s_no);

getchar();

printf("请输入要添加学生的姓名:

");

scanf("%s",s_name);

getchar();

printf("请输入要添加学生的性别:

");

scanf("%s",s_sex);

getchar();

printf("请输入要添加学生的年龄:

");

scanf("%d",&s_age);

getchar();

printf("请输入要添加学生的院系:

");

scanf("%s",s_dept);

getchar();

execsqlinsertintocj_s

values(:

s_no,:

s_name,:

s_sex,:

s_age,:

s_dept);

execsqlcommitwork;

printf("添加学生信息成功!

\n");

getchar();

break;

}

case3:

{

printf("请输入要删除学生的学号:

");

scanf("%s",s_no);

getchar();

execsqldeletefromcj_s

wheresno=:

s_no;

if(sqlca.sqlcode!

=0)

{

printf("没有要删除的学生信息!

\n");

getchar();

break;

}

execsqlcommitwork;

printf("删除学生信息成功!

\n");

getchar();

break;

}

case4:

{

printf("请输入要修改学生的学号:

");

scanf("%s",s_no);

getchar();

printf("请输入新的年龄:

");

scanf("%d",&s_age);

getchar();

execsqlupdatecj_s

setsage=:

s_age

wheresno=:

s_no;

if(sqlca.sqlcode!

=0)

{

printf("没有要修改的学生信息!

\n");

getchar();

break;

}

execsqlcommitwork;

printf("修改学生信息成功!

\n");

getchar();

break;

}

default:

{

printf("成功退出系统,谢谢使用,再见!

\n");

printf("特别鸣谢本系统开发人员:

陈婧!

\n");

printf("\n");

return0;

break;

}

}

}

}

voidmenu()

{

system("cls");

printf("----------------学生信息管理系统----------------\n");

printf("\n");

printf("1.遍历学生信息\n");

printf("2.添加学生信息\n");

printf("3.删除学生信息\n");

printf("4.修改学生信息\n");

printf("5.退出\n");

printf("\n");

printf("----------------软件083班陈婧制作---------------\n");

printf("\n");

printf("->请选择:

");

}

五.实验结果:

连接数据库和建表:

编译“.pc”文件:

打开执行编译后生成的“.c”文件:

配置VC编辑器:

【程序执行结果】

登录连接数据库:

 

友好界面显示:

遍历学生信息:

添加学生信息:

删除学生信息:

修改学生信息:

退出系统:

六.体会:

经过6课时的奋战,终于完成了本次小型学生信息管理系统实验。

我觉得这次实验不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高,可以更加有信心的去面对即将到来的课程设计。

通过这次实验,我清晰的知晓自己知识还比较欠缺,自己要学习的东西还有很多。

清晰的认识到自己什么东西都会一点,什么东西都懂一点,眼高手低的缺点。

但是通过这次实验,我明白了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己的知识、实践能力和综合素质。

更应该注重自己思考问题,解决问题,动手能力的提高。

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2