内容正文:
3.3 信息系统的数据输入
【学习目标】
1.能够根据信息输入的要求设计HTML网页。
2.理解信息系统数据访问的基本过程。
3.能够描述将用户输入信息存储到数据库的基本过程。
【知识框架】
信息系统使用过程中,用户并不是 操作数据库,而是通过信息系统 程序(交互式页面)来进行数据库的操作。
知识点1:静态网和动态网
动态网中网页显示的信息是存储在 中的,修改数据库内容,网页内容也会改变。
信息系统开发
知识点2:表单
表单:在HTML文件中,表单用于 用户的各种输入,用户单击按钮提交表单时向服务器 数据,从而实现用户与Web服务器的数据交换。
浏览器打开“添加图书录入表单.html”→右键选择“察看网页源代码”
<form action="/book_in/" method="post">
ISBN:<input name="tb_ISBN" type="text"/><br/>
书名:<input name="tb_BookTitle" type="text"/><br/>
<input style="margin-left:70px" type="submit" name="Button1" value="录入"/>
</form>
form标记中的action和method为表单的属性, 表示表单数据将提交给哪一个程序处理, 表示表单数据的传递方式。
以get方式传递数据,浏览器将在 中呈现传递的数据;以post方式传递数据,数据不会出现在地址栏中,所以适合传递 数据。post方式理论上没有数据量大小限制,但为了保证系统的稳定运行,通常会限制在 MB以内。
表单元素:用户向信息系统提交的数据多种多样,HTML定义了多种类型的表单元素。
表单元素
网页呈现
代码表示
功能
文本框
<input name=”文本框” type=” ”>
输入数据
密码框
<input name=”密码框” type=” ”>
输入密码
显示为“*”
单选框
<input name=”单选框” type=” ”>
单击选一个
复选框
<input name=”复选框” type=” ”>
可以选多个
下拉列表
<select name=”列表框”>
<option>列表1</option>
<option>列表2</option>
</select>
下拉选一个
按钮
<input name=”按钮” value=”提交” type=” ”>
提交表单数据
或执行命令
信息系统开发人员应当在设计交互页面时,给予必要的 提示。
知识点3:交互
交互(interaction)指人工制品在特定场景下的 方式。用户使用各种信息服务过程中的感觉就是一种 体验。
1.连接数据库
数据库由数据库管理系统 实施管理,应用程序要将数据存储到 中,首先要建立应用程序和数据库之间的 。
import # 使用pyodbc作为连接应用程序和数据库的管道
DBfile = os.getcwd()+ u"""\图书管理.mdb""" # 起始执行目录\数据库文件
# 建立一个连接对象,该对象用odbc连接管道连接应用程序和指定的数据库
= pyodbc.connect (u"Driver = {Microsoft Access Driver (*.mdb,*.accdb)}; DBQ=" + DBfile)
# 为数据连接创建游标对象,此时游标对象中没有存放任何数据
cursor = conn. ()
cursor.close() # 关闭游标
conn.close() # 关闭数据库连接
2.游标(cursor)是Web服务器为用户开设的一个数据 区,存放SQL语句的执行结果。数据库操作结束后,应按 关闭游标和数据库连接, 服务器资源。
知识点4:用户与服务器之间的通信
用户与服务器通信具体过程
1.用户在浏览器地址栏中输入地址,浏览器向 服务器发起访问应用程序的请求。
2.Web服务器根据用户提交的网址查找应用程序文件,如果找到了文件,就将处理结果返回给用户;如果没有找到文件,则默认给用户返回一个 错误(表示文件不存在)。
3.如果用户的请求需要访问 服务器,Web服务器就向数据库服务器发起访问请求。
4.数据库服务器根据Web服务器发来的请求,向Web服务器返回操作结果或是数据集合,再由Web服务器根据应用程序文件的要求进行相应处理之后将结果返回 供用户浏览。
知识点5:插入图书数据
插入数据的方式
1. 操作数据库
向数据库中手工录入数据,首先要打开数据库管理系统,然后打开相应的数据库,找到确定的数据表,最后一行一行录入数据。
2.通过 插入数据
第一步,录入页面用 方式传递的数据
ISBN = request.POST.get('txtISBN')
title = request.POST.get('txtTitle')
第二步,
参考知识点3第一部分连接数据库。
第三步,将数据 到游标对象中
sql =u"""INSERT INTO [图书表]([ISBN],[书名])VALUES('%s','%s')"""%(ISBN,title)
cursor.execute(sql)
第四步,将数据 到数据库中,并关闭游标和连接对象
cursor.commit() # 向数据库服务器提交数据
cursor.close() # 关闭游标
conn.close() # 关闭数据库连接
知识点6:结构化查询语言
Structured Query Language简称 ,译为 ,是关系数据库的标准语言。
SQL的功能不仅仅是查询,它还能够实现创建、修改、删除数据库对象以及对数据表中的数据进行 、 、 、 等操作。
虽然SQL语言不区分大小写,实际使用时,关键字应大写,自定义的内容用小写。
SQL的插入命令( 命令)用于向数据表中 记录。
INSERT命令的基本格式为:
INSERT INTO 表名(字段1,字段2,……)
VALUES(值1,值2,……)
【课后练习】
1.在HTML中,下面不属于表单元素的是( )
A.文本框 B.按钮 C.图片 D.下拉列表
2.下列不属于HTML文件表单元素的是( )
A.文本框 B.密码框 C.下拉列表 D.标签
3.下列属于HTML文件表单属性的是( )
A.act B.get C.method D.post
4.下列HTML表单代码中,插入的是普通按钮的是( )
A.<input type="reset" value="reset" name="B1">
B.<input type="text" value="T2" size="20">
C.<input type="submit" value="提交" name="B2">
D.<input type="button" value="按钮" name="B3">
5.在HTML中,要将form表单内的数据发送到服务器。应将< input>标签的type属性值设为( )
A.password B.submit C.reset D.push
6.下列关于HTML文件中表单的说法中错误的是( )
A.表单控件可以单独存在于表单域之外
B.表单可包含表单控件,如文本域、列表框和按钮
C.表单是网页与浏览者之间实现交互的一种方式
D.完整的表单应包括:一是描述表单的HTML源代码;二是用来处理用户在表单域中输入信息的应用程序
7.下列Html表单代码中,插入的是单选框的是( )
A.<input type="radio" value="V1" checked name="R1">
B.<input type="text" name="T2" size="20">
C.<input type="password" name="T1" size="20">
D.<textarea rows="2" name="S2" cols="20">
8.表单用于接收用户的各种输入,单击按钮向服务器传输数据,从而实现用户与Web服务器的数据传递,表单用< form></ form>表示,下列说法不正确的是( )
A.action属性一共有两个选项,post和get
B.action表示表单数据将提交给哪一个程序处理
C.method表示表单数据的传递方式
D.method属性一共有两个选项,post和get
9.method表示表单数据的传递,下列不正确的是( )
A.method常见的传递方式分为get和post
B.get方式,浏览器将在地址栏中呈现传递的数据
C.post方式,数据不出现在地址栏,适合传敏感数据
D.get方式提交的数据量较大,post方式较小
10.下列说法与“人机交互”不相关的是()
A.越来越友善的人机界面 B.越来越大的存储空间
C.越来越个性化的功能设计 D.越来越简化的操作步骤
11.游标(cursor)是Web服务器为用户开设的一个数据缓冲区,存放SQL语句执行结果,下列正确的是( )
A.数据库操作结束后,可不关闭游标,只关数据库连接,释放服务器资源
B.数据库操作结束后,应按顺序关闭游标和数据库连接,释放服务器资源
C.数据库操作结束后,游标、数据库连接都可以不关闭,系统自动释放服务器资源
D.数据库操作结束后,应关闭游标,可不关数据库连接,释放服务器资源
12.用户通过浏览器访问信息系统的过程可以分为以下几个主要步骤:
①如果用户请求的应用程序文件要求访问数据库服务器,Web服务器就向数据库服务器发起访问请求。
②数据库服务器根据Web服务器发来的请求,向Web服务器返回操作结果或是数据集合,再由Web服务器根据应用程序文件的要求进行相应处理之后返回给浏览器供用户浏览。
③Web服务器根据用户提交的网址查找应用程序文件,如果Web服务器找到了文件,就将处理结果返回给用户;如果没有找到文件,则默认给用户返回-个404错误(表示文件不存在)。
④用户在浏览器地址栏中输入地址,浏览器根据地址向Web服务器(或称应用程序服务器)发起访问应用程序的请求。
下列用户与服务器之间的通信顺序正确的是( )
A.④③①② B.④①③② C.③④②① D.④③②①
13.在SQL中,Insert into是( )
A.选择指令 B.插入指令 C.更新指令 D.删除指令
14.SQL是一种结构化查询语言,INSERT通常用于插入一条记录到指定的数据表中。以下SQL语句能够实现将学生信息插入到学生表中的是( )
A.INSERT INTO 学生表(学号,姓名,年龄) VALUES (O01,李玲玉,18)
B.INSERT (001,李玲玉,18) INTO 学生表(学号,姓名,年龄)
C.INSERT ('001','李玲玉',18) INTO 学生表(学号,姓名,年龄)
D.INSERT INTO 学生表(学号,姓名,年龄) VALUES ('001','李玲玉',18)
15.“学生表”中含有字段“学号”“姓名”“年龄”,它们对应的数据类型分别为文本、文本和数值,下列选项中能够正确插入记录的是( )
A.INSERT INTO 学生表(学号,姓名,年龄) VALUES(001, 张三, 18)
B.INSERT INTO 学生表(学号,姓名,年龄) VALUES("001", "张三", 18)
C.INSERT INTO学生表(学号,姓名,年龄) VALUES(001, "张三", 18)
D.INSERT INTO学生表(学号,姓名,年龄) VALUES("001", 张三, 18)
16.SQL的插入命令是( )
A.SELECT B.WHERE C.INSERT D.UPDATE
【学案答案】
1.直接
2.应用
3.数据库
4.接收
5.传输
6.action
7.method
8.地址栏
9.敏感
10.2
11.text
12.password
13.radio
14.checkbox
15.submit
16.输入
17.反应
18.交互
19.Access
20.数据库
21.连接
22.pyodbc
23.conn
24.cursor
25.缓冲
26.顺序
27.释放
28.web
29.404
30.数据库
31.浏览器
32.直接
33.交互式页面
34.post
35.连接数据库
36.缓存
37.存储
38.SQL
39.结构化查询语言
40.增
41.删
42.改
43.查
44.INSERT
45.插入
【课后答案】
1.答案:C解析:不体现交互功能的,选C。
2.答案:D解析:文本框和密码框是一个组件,可以通过组件属性来设置,AB排除,下拉菜单比如选省市的时候,因此D不是。
3.答案:C解析:表单属性为action(数据提交到哪里处理)和method(数据的传递方式有get和post两个值),故本题选C。
4.答案:D解析:reset是重置、submit是提交、button是普通按钮,故选D。
5.答案:B解析:发送数据,故为submit,选B。
6.答案:A解析:表单控件一定在表单域中,故A错误。
7.答案:A解析:A是单选,B是单行文本框,C是密码框,D是多行文本框。故选A。
8.答案:A解析:post和get是method属性的两个选项,故A错误。
9.答案:D解析:以get方式提交的数据量比较小,post方式提交的数据量比较大,故错误。
10.答案:B解析:与人机交互不相关的是存储空间,故选B。
11.答案:B解析:数据库操作结束后,应按顺序关闭游标和数据库连接,释放服务器资源,故选B。
12.答案:A解析:顺序是4312,故选A。
13.答案:B解析:A是select,B是insert,C是update,D是delete,故选B。
14.答案:D解析:本题主要考查数据表的插入操作。INSERT INTO语句用于向表格中插入新的行。INSERT INTO语句可以用两种形式编写。第一种,表单没有指定要插入数据的列的名称,只提供要插入的值,即可添加一行新的数据:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);第二种,如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称,但是,需要确保值的顺序与表中的列顺序相同,语法:INSERT INTO table_name VALUES (value1, value2, value3, ...)。其中文本型的数据类型需要用单引号。故选D。
15.答案:B解析:文本加引号、数字不用加,故本题选B。
16.答案:C解析:插入为insert,故选C。
学科网(北京)股份有限公司
$$