登陆注册
49356600000035

第35章 数据库应用(4)

Select MAX(奖学金)As最高值,MIN(奖学金)As最低值,AVG(奖学金)As平均值From学生where LEFT(学号,6)=“070211”。

(4)查询单表符合匹配内容。

例如,选择“学生”表中姓“陈”的而且是8月8日出生的所有学生。

Select*From学生Where姓名Like“陈*”And month(出生年月)=8And day(出生年月)=8例如,选择“070211”班和“070312”班所有学生的学号、姓名和出生年月。

Select学号,姓名,出生年月From学生Where LEFT(学号,6)In(“070211”,“070312”)本例也可以写为:

Select学号,姓名,出生年月From学生

Where LEFT(学号,6)="070211" Or LEFT(学号,6)="070312"(5)查询单表指定顺序内容。

例如,要将“学生”表中“070211”班的所有学生查找出来,并按照奖学金的降序排列的Select 语句为:

Select学号,姓名,出生年月,奖学金From学生

Where LEFT(学号,6)="070211"Order by奖学金Desc

(6)查询多表内容。

例如,查看所有学生的成绩(包括学号、姓名、课程名)。

Select成绩.学号,学生.姓名,课程.课程名,成绩.分数From学生,成绩,课程Where学生.学号=成绩.学号And成绩.课程号=课程.课程号。

说明:该查询涉及“学生”、“成绩”和“课程”表,需要对3张表实现关联,即语句中的“学生.学号=成绩.学号and成绩.课程号=课程.课程号”部分。

例如,查看所有良好成绩(大于等于80分)的所有学生的学号、姓名、课程名和分数。

Select成绩.学号,姓名,课程名,分数From 学生,成绩,课程

Where学生.学号=成绩.学号And成绩.课程号=课程.课程号And分数>=80

Order by成绩.学号

7.5.3SQL语言的其他常用语句

1.INSERT 数据插入语句

格式1:Insert Into 数据表名(字段列表)Select 源表字段列表From 表Where 条件说明:将一个或多个表(From 子句)中满足条件(Where 子句)的所有数据(Select 子句的源字段列表)添加到目标表(Insert Into 子句)中。

例如,先创建一个结构与“学生”表相同的表,取名为“Student”,取出“学生”表中所有获取奖学金的学生名单(包括学号、姓名、性别、奖学金),存入“Student”表中,用SQL语句可以写作:

Insert Into Student Select 学号,姓名,性别,奖学金From 学生Where奖学金>0

格式2:Insert Into 数据表名(字段列表)Values(取值列表)

说明:将数据值(Values 子句)添加到目标表(Insert Into 子句)中。

例如,向“学生”表中添加一条记录,学号、姓名分别为“070205005”和“林峰”,其余字段取值暂不确定,用SQL语句可以写作:

Insert Into学生(学号,姓名)Values("070205005","林峰")

2.DELETE数据删除语句格式:Delete[Table.*]From表Where 条件

说明:删除表(Delete子句)中满足条件(From 子句和Where子句)的所有数据。

例如,要将“学生”表中学号为“070205005”的记录信息删除,用SQL语句可以写作:

Delete学生.*From学生Where学号="070205005"

3.UPDATE数据更新语句

格式:Update 数据表名Set新值Where条件

说明:修改表(Update子句)中满足条件(Where子句)的所有记录,修改为由Set子句中所指定的取值。

例如,将“学生”表中原奖学金数额在50~100元的增加100元。

用SQL语句可以写作:

Update 学生Set 奖学金=奖学金+100Where 奖学金>=50And 奖学金<=100

7.6窗体设计

数据库将数据存储在表中,而表通常非常大。尽管可以直接输入或读取表数据,但这样做可能很麻烦,因为表越大,就越难确保数据位于正确的字段(列)和记录(行)中。为了更方便地输入和查看数据,可以使用窗体并进行自定义,将窗体看作我们访问数据库的窗口,从而提高数据库的应用价值和性能。

窗体基本上分为两大类:显示与数据库表信息的窗体界面和用于交互对话的窗体界面。

7.6.1显示表信息的窗体设计

在前面创建的“成绩查询1”的记录集中,包含了所有学生的所有课程的成绩信息,如果我们只关心某个学生或某门课程的相关成绩信息,或者需要对信息进行统计和汇总,就可以通过创建窗体来定位和浏览我们所关注的那部分信息。

完成这类窗体的设计,可以先通过“使用向导创建窗体”来完成其中一部分窗体的创建工作,再通过“在设计视图中创建窗体”调整部分布局并完成信息统计显示工作。

在窗体向导窗口中选择数据源记录集“成绩查询1”,将所有字段移动到选定字段列表中;接下来选择“通过学生”查看数据的方式,并选择“带有子窗体的窗体”;之后按照向导指示选择相应的设置并命名窗体和子窗体的名称,即可完成一部分创建工作。用类似的方法可以创建“通过课程”查看数据的窗体。接着再进入设计视图对部分布局效果进行修改完善并完成统计工作。

7.6.2对象驱动操作的窗体设计

学籍信息管理系统的登录口令验证界面与数据库表中的信息无关(当然口令也可以存储在数据库中,在此我们暂且不考虑),仅仅是一个交互对话框窗体。

用户输入的口令不以原口令字符形式显示。系统口令预存在VBA 代码中,系统自动验证口令正确与否。若正确,跳出欢迎的对话信息框,并将“进入系统”按钮设置为可用;否则,显示警告信息的对话框,但“进入系统”按钮仍然不可用。

7.7报表设计

虽然可以通过表、查询或是窗体来浏览和检索我们所需要的信息,但报表却是组织和显示数据库数据的最直观的方法。

想要根据“成绩查询1”生成一张成绩单统计报表,就可以通过“使用向导创建报表”结合“在设计视图中创建报表”来共同完成创建工作。

在报表向导中选择数据源记录集“成绩查询1”,并将所有字段移动到选定字段列表中;接下来选择“通过成绩”查看数据的方式;之后分别选择“学号”和“姓名”作为分组级别;下一步再设置“课程号”作为排序字段;然后按照向导指示选择相应的设置,即可完成一部分创建工作。

接着再进入设计视图对布局效果进行修改完善并设置统计显示方式等。

7.8整合应用示例

通过前面内容的学习,我们建立了数据库及表,并创建了若干个查询、报表和浏览信息的窗体。但是这些对象都是离散的,需要分别来运行,很不方便。

现在我们可以通过一个导航窗体来整合前面的零散对象,将分散的操作集中到一个窗体上通过命令按钮的点击来启动。

回到本章的第一节的数据库应用示例,回顾系统的功能与界面效果,通过Access 提供的“在设计视图中创建窗体”来完成整合工作。

进入创建窗体的设计视图,调整窗体的大小以满足界面空间所需,在工具箱中添加控件(1个标签、3个选项组和9个命令按钮)到窗体上,并在属性窗口设置控件相应的显示效果属性。

在添加命令按钮时,系统会跳出命令按钮向导,根据不同按钮要启动的不同对象,选择按钮产生的动作。

最后,将“登录口令验证”窗体设置为Access启动显示窗体,并关闭显示数据库窗口,这在一定程度上可以保护数据库的安全。

只要打开“学籍管理”数据库,系统就会自动跳出“登录口令验证”窗体,如果口令验证通过,就可以直接进入学籍管理系统的导航窗体,通过点击相应的命令按钮来启动对应的对象(表和查询最好事先创建成对应的窗体,这样界面操作比较方便),从而完成系统所要求的所有功能。

7.9习题

1.完成和实现本章的“学籍管理”数据库应用示例的所有功能。

2.将本章中SQL语言的语句示例在Access 的环境中实现,并观察运行结果。

3.设计并实现一个简单的商品销售管理系统,包括进货和出售以及库存等明细的存储、编辑、分类统计、查询、报表和窗体显示等功能。是部分功能实现的界面效果,其中“交易金额”、“库存增减数量”和“库存量”等字段的值会自动根据表达式生成,而不需要键盘输入。效果界面仅供参考,你可根据系统规模和功能自行添加表或字段,如客户和供应商等信息。

4.设计并实现一个简单的个人财务管理系统(可参考银行账户管理的模式),包括收入和开销等明细的存储、编辑、分类统计、查询、报表和窗体显示等功能,规模形式不限,可以自由发挥。

同类推荐
  • 下一代互联网

    下一代互联网

    本书系统介绍了下一代互联网的进展情况,包括下一代互联网的概念解析,国内外下一代互联网的最新发展情况,下一代互联网的关键技术进展,以及各国发展下一代互联网的政策计划。最后分析了下一代互联网对未来社会的影响,提出我国发展下一代互联网的政策建议等。全书共6章,包括互联网发展历史和现状,下一代互联网基本概念,下一代互联网研究最新进展,下一代互联网发展现状,我国发展下一代互联网现状,发展下一代互联网战略建议。
  • 音视频合成制作

    音视频合成制作

    本书共分4篇6章,其中第1篇简介音视频合成的编导基础,第2篇主要介绍SonyCinescore1电影音乐自动合成,第3篇主要介绍Vegas7.0音视频剪辑合成,第4篇主要介绍AdobeAudition2.0、CakewalkSONAR6和SteinbergNuendo3的音视频合成。本书可以作为音乐、美术、动画、舞蹈、影视、戏剧等艺术院校视听艺术合成制作课程的教材,也可以作为相关人员的自学用书。
  • 科学伴你行-神奇的通信技术

    科学伴你行-神奇的通信技术

    在日常生活中,有时人们要借助于小旗子来进行通信联络,比如,开运动会时,发令员常常要用小旗子与计时员联系;当你乘坐火车进入车站时,都会看到车站工作人员拿着红色和绿色的小旗子在站台上进行指挥;在战争中,打出白色旗子表示投降,插上红色旗子表明胜利;航行在茫茫大海上的船只,双方船员会凭不同旗帜组成的标志,来了解对方的意思。以上种种用小旗子来“说话”的通信方式就叫做旗语。
  • 计算机与人工智能(科学新知丛书)

    计算机与人工智能(科学新知丛书)

    本书是专门为中小学生编写的科普读物。全书共分八个部分,分别就计算机诞生的历程,计算机的种类、构造、作用及其发展趋势等方面进行了详尽的论述,全书论述深入浅出,行文活泼流畅。为本书的主要读者——广大的中小学生朋友认识计算机、了解计算机和掌握计算机提供了一把钥匙,是新时期中小学生开展素质教育不可多得的科普读物,中小学生家长及教师阅读此书也能从中获得有益的启示和感悟。
  • 高校校园网管理与网上引导工作研究

    高校校园网管理与网上引导工作研究

    在当今的信息化潮流之下,我们不可否认互联网的出现,绝不仅仅是传送手段的变化,更重要的是它代表着一种新的社会形态——网络社会的来临。互联网已经以一种前所未有的方式渗透到现代社会的各个层面和领域,成为现代社会前进和发展的动力和工具,它推动了社会经济、文化政治实现所谓的“数字化转变”。
热门推荐
  • 世界经典智慧故事全集——明鉴时事的故事

    世界经典智慧故事全集——明鉴时事的故事

    本套丛书图文并茂,格调高雅,具有很强的系统性、代表性、趣味性和可读性,是中小学生培养阅读与写作能力的配套系列读物,非常适合广大中小学生学习和收藏,也是各级图书馆收藏的最佳版本。
  • 武道之功夫巨星

    武道之功夫巨星

    武艺高强的萧翰考入燕京影视学院,幸运地以一部功夫电影一炮而红,走上了名利、财富的巅峰,但这一切并未使他空虚的心灵的到满足,他转身去追求武道的巅峰......普通书友群:259772107欢迎加入探讨交流。
  • 网游之开局就有神级系统

    网游之开局就有神级系统

    2099年,天创公司开发了一款大众游戏,这个游戏的名字就是《神迹》。苏离是一名重生者,当时天创公司开发游戏的两年后他就不知不觉地来到了两年前,那个梦开始的地方。
  • 永生轮回

    永生轮回

    本以为不在世间的神佛,为何又重新回到了世间。神仙为何会在泣血,佛主为何不再慈悲,而操起尖刀……这一切都尽在永生轮回之中。
  • 竹马请你等等我

    竹马请你等等我

    看见没,这就是缘分啊,怎么样小子,生日礼物不错吧
  • 噩梦故事

    噩梦故事

    在一个世界沉睡,就会在另一个世界苏醒,一段段离奇古怪的经历,一篇篇不着边际的故事,一个人生,一场梦。
  • 芳华廿三之将军的女儿急出嫁

    芳华廿三之将军的女儿急出嫁

    “白马王子呀?你怎么还不来找姑奶奶我啊?骑的白马是战死了吗?走路来的吗?哼哼,还不赶紧快点嘛!”“再这么等下去…,呜呜~,姑奶奶可真成没有人要和嫁不出去的老姑婆了啊。。。”堂堂城主府的小公主、大小姐,生得更是那死了鱼、瞎落雁、乌云乱遮月、辣手摧花什么的,竟没有人要???“那个、那个,当正室、当侧室、当…寄室有木有人愿意娶姑奶奶我啊?!!”
  • 江湖太白录

    江湖太白录

    在江湖中洒下一粒粒自己的棋子,挑起天下纷争,做江湖中最大的幕后黑手。听说你是魔教教主,做我小弟吧。
  • 西点军校送给男孩的最好礼物

    西点军校送给男孩的最好礼物

    “时刻不忘维护荣誉”:“无条件服从命令”……本书选取了西点精神中最具特色的60个特质,结合西点名人的经典事例进行深入阐述,作为礼物奉献给男孩子们。
  • 上古世纪之种族使命

    上古世纪之种族使命

    当神与英雄全部死去,我便是新的传奇。风吹过的地方,都有我奔跑的足迹。我是猎鹰高原的亚泽·伯纳德。