资源描述
目录
目 录
摘 要 I
ABSTRACT II
第一章 可行性研究 1
1.1 项目编写的目的 1
1.2 项目编写的背景 1
1.3 可行性研究: 4
1.3.1 技术可行性: 4
1.3.2经济可行性: 4
1.3.3 操作可行性: 4
1.3.4 项目可行性研究报告: 4
1.4 系统流程图 5
1.5 数据字典 5
第二章 需求分析 6
2.1 项目要求: 6
2.2 项目详细调查分析 6
2.3 数据的录入 6
2.4 数据编辑 6
2.5 报表生成 7
2.6 其它 7
2.7 性能要求 7
2.8 性能描述 7
2.8.1 数据更新的及时性 7
2.8.2 数据的准确性 8
2.8.3 时间特征 8
第三章 总体设计 9
3.1引言 9
3.2开发目的 9
3.3数据库部分E-R图 9
第四章 详细设计 11
4.1 引言 11
4.2开发语言及工具的选择 11
4.2.1 JSP初步介绍 11
4.2.2 JSP 的功能概述 12
4.2.3 JSP.ini 配置 12
4.2.4 开发工具介绍 13
4.3 数据库的选择 13
4.4数据存取技术的选择 13
4.5 JSP连接数据库: 14
4.6 SQL简介: 16
4.7数据库设计: 17
4.7.1 表与表之间的关系 17
4.7.2 数据库的创建 17
4.7.3 SQL数据库管理界面风格 20
4.8 系统模块化设计 21
4.8.1系统安全模块 21
4.8.2数据录入模块 22
4.8.3数据编辑模块 23
第五章 编 码 27
第六章 测 试 31
6.1什么是软件测试 31
6.2软件测试的目标与方法 31
6.3模块测试与集成测试 31
6.3.1系统安全模块 32
6.3.2数据录入模块 32
6.3.3数据编辑模块 33
6.3.6 报表生成 33
6.4测试的结果与小结 33
总 结 35
参考文献 36
附录一 37
中文原文 37
英文翻译: 42
附录二 48
附件三 产品维修售后服务系统程序环境规格说明 49
附件四 维修售后服务系统程序开发规格书 49
摘要
摘 要
利佳电脑维修售后服务系统,是基于XP+TOMCAT+SQL+JSP的B/S架构的办公自动化管理系统。
系统的开发主要包括后台数据库的建立和维护以及前端web应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好、运行效率高的数据库。而后者则要求应用程序具备功能完备、简洁易用等特点,运行效率也要求较高。
经过上面的分析,本系统是基于XP+TOMCAT+SQL+JSP的架构开发。以及很适合中型应用的数据库SQL,整个web侍服是用稳定很强的TOMCAT侍服引擎,以上的几项除了有很高的性能外,还有一个很大的特点,那就是所需成本很低,使整个系统的性价比达到了最佳。本系统的开发运行环境大部分是开放源代码的,并且JSP具有很强的可移植性,这个对于我们做开发的来说,诱惑力是相当巨大的,因为我们可以适当的对他进行扩充,很适合OA开发。
关键字:数据一致性,可移植性,性价比,JSP,XP,OA
I
ABSTRACT
ABSTRACT
liJia computer maintains the service system after sale, It is a B/S Structure's automation management system that based on XP + TOMCAT+ the SQL+ JSP.
systematic development main including setting-up and maintenance and front web application program of backstage supporter's database development two respect. Demand to set up the consistency of the data and integrality to the former strongly , the data security is fine, operate the database with high efficiency. The latter requires the application program to possess the complete , succinct apt characteristic of using etc. of function, operational efficiency should be very high too.
Through the analysis above, what I adopted are JSP and XP system. And suitable for medium-sized database SQL that use very, whole web wait upon clothes to spend steady better TOMCAT very, several the above-mentioned items have it except that there is very high performance , and a characteristic reached very much, that is that necessary cost is very low, the cost performance of the whole system reaches infinitely greatly. Having it just, all these, the majority opens the source code, this piece make to us develop , temptation is quite enormous, because we can expand him properly ,Very suitable for OA development. In addition, very strong portability of JSP, I do not have no reason to choose like that .
Key word: The consistency of the data, the portability, cost performance, JSP,XP,Office Automation
57
第一章 可行性研究
第一章 可行性研究
1.1 项目编写的目的
web软件设计现在越来越流行,维护也很方便,基于web 的OA(办公自动化)开发也受到广大用户的青睐。并且web 易用,风格人人熟悉,是其它语言设计的软件所无法比拟的。最大的好处就是随时随地,随便一个网络终端都可以进行管理访问,这个就是我采用B/S架构来构建本系统的初衷。
1.2 项目编写的背景
项目名称为“基于XP+JSP+SQL+TOMCAT的B/S架构电脑管理系统”,分为以下几个功能模块:密码管理模块、数据更新模块、查询模块、数据导出模块及系统维护模块。项目的提出者为台湾威普电脑公司,项目的开发研制者为广州数信软件开发公司。
办公自动化OA(Office Automation)最早起源于70年代末期的发达国家。当时,IBM个人电脑与王安公司WPS(Word Processing System)文字处理系统在企业界受到欢迎。伴随企业使用个人电脑进行办公,带有个人事务处理色彩的办公自动化系统也蓬勃发展。
到了80年代中期,传统的管理信息系统MIS开始兴起, OA实现了数据统计和文档写作电子化、个体工作的自动化,这也就是人们通常所说的第一代OA。然而这一代OA缺陷明显,不能实现工作流程的自动化,严格意义上,它并没有实现真正“办公自动化”。
伴随Intranet和Internet技术的发展,OA开始关注并实施企业不同部门间工作流程的自动化。不同部门及各员工间的协作加强,使企业办公的效率大大提高。同时, “移动办公”更引发了新一轮的OA革命,OA进入了第二代。第二代OA更多地承担了一个信息通道的责任,建立起不同职能部门协同工作的环境。但由于受到企业传统文化、管理模式以及业务流程的束缚,工作流程的自动化效益还难以全部实现。
从90年代末期开始,随着协同管理思想的兴起,旨在实现项目团队协同、职能部门之间协同、业务流程与办公流程协同、跨时空协同的OA开始兴起,最终发展成以“知识管理”为核心,以工作流程的协同为手段的第三代OA系统。第三代OA放眼企业发展战略,注重知识的收集、积累与共享,最终目标是实现企业与员工的长期共同发展,为企业创造价值。
当前我国OA行业存在的问题
我国的OA行业从上世纪80年代开始至今,经过了近20年发展, OA办公自动化系统的建设和应用取得了十分明显的进步,产品种类日趋繁多,产品的应用几乎渗透到各个行业。但同时,也暴露出了很多问题。在OA系统的开发和应用上的问题,集中表现在以下几个方面:
一、 用户:理解尚浅
OA办公系统自进入中国以来,在政府部门的大力倡导下,在媒体和业界的广泛传播推广下,曾经一度掀起了OA应用的热潮,我国的OA建设逐渐进入大范围的实施阶段。但时至今日,作为办公自动化系统应用的主体,很多用户对OA的理解及应用仍然停留在表象层次。具体表现为:
1、 对OA方案实施缺乏必要的理解
OA的实施,第一层次的决策是“组织建设、系统搭建”,第二层次的决策是系统搭建好了“强制”应用。许多实施OA的组织只强调第一层次决策,而对第二层次决策重视不够,导致应用系统得不到最佳的应用,最终不能发挥OA应有的效果。
2、对OA的期望值过高
也许是受计划经济时代的影响过深,许多用户对办公自动化期望值过高,总希望系统大而全,能包罗万象,并要求一步到位,忽略了办公自动化应用系统的特殊性和本单位的实际情况。OA应用项目的实施决策人员,往往把大量的资金投入到建立一流的系统当中,而在开发应用信息系统时又往往资金不足,注重更多的应用信息系统的建立但又不重视它的实际应用,以致使许多“草草上马”的系统仅仅成了上级来检查或评估办公自动化时的一笔政绩或企业实施信息化管理的一个标志。
二、 开发商:缺乏创新
1、客户关心不够
OA应用开发商的本质定位是,将先进的信息技术和用户的需求完美结合并实现提高办公效率的目的。但实际当中,很多客户由于对OA的理解不够,或出于价格和开发周期方面的考虑,导致目前市面上的OA系统很少以应用系统集成的性质出现,大多数OA系统以标准化的产品问世。为了迎合客户的心理,很多OA开发商对客户实际应用需求的分析和研究较少,只是做出一套“大而全”的标准化产品,功能包罗万象, 而真正能被用户接受的功能模块很少。
2、兼容性和可扩展性较差
目前,许多OA应用的问题是,在与其他业务系统的接口方面、定制复杂应用方面和集成其他软件及设备方面,系统兼容性较差。进而使企业有时不得不重复开发系统,造成企业资源浪费。
3、通用性较差
在OA实际应用当中,无论是企业、政府,还是事业单位,都存在应用需求的不断变化,像管理机构调整、人事变动、业务流重组等等,这样势必要对系统进行调整或修改。而目前多数OA产品软件的通用性差,系统一旦成型,调整就相当困难。而当用户的需求发生改变时,哪怕仅仅是轻微的改变,都需要开发商来解决,从而影响了用户的使用效率,对开发商而言也是一个极大的负担。
4、技术层次参差不齐
尽管,目前已经出现了B/S结构的OA产品,但许多OA软件的设计还基本上停留在C/S结构,在面向对象的开发方式上,很少见到有创新的设计。从IT的用户需求和技术发展趋势来看, OA只可能走向Intranet、Internet和 Etranet(意为“外联网”,为了提高业务联系的速度和效率,运用万维网技术扩展一个企业的内联网,以便增强企业与其供应商和客户的联系速度和效率。)的进一步融合。为了顺应这种趋势,OA设计应该立足于先进技术和用户个性应用需求,设计上采用三层结构的思想、开发中使用面向对象的方式。
1.3 可行性研究:
1.3.1 技术可行性:
由于JSP及XP的飞速发展,相关技术也越来越成熟,并且他的安全性也较高,所以在技术方面是可行的。
1.3.2经济可行性:
经济因素是基于XP+JSP+TOMCAT+SQL的OA系统的最大优点,较大程度上避免了程序开发及运行的费用。XP和JSP之所以能够发展的如此迅速,其中经济方面是主要原因之一。
1.3.3 操作可行性:
大部分人已经习惯了B/S架构的人性化操作界面,系统在开发之前跟客户进行过多次交流与协商。
1.3.4 项目可行性研究报告:
综上所述,无论从技术、经济和操作上,本系统的实现都没有任何问题,因此可以立即着手系统的需求分析工作。
第二章 需求分析
1.4 系统流程图
管理登陆界面
数据库操作程序
报告生成程序
生成报告
权限审查
各种信息
数据库
图1-1 系统流程图
fig 1-1 System process
1.5 数据字典
由于系统过大:所以我在这里挑选一个来大致描述一下
名字:RMA维修报表
别名:RMA维修信息
描述:客户产品如有问题,需要填写维修报表
定义:维修报表=客户名称+报修方式+1{产品}10+快递+不良原因+借机
第二章 需求分析
2.1 项目要求:
计算机维修售后服务系统的出现对许多电脑公司来说是一个福音,因为他把许多电脑公司从繁杂的计算机维修售后服务系统解脱出来。对各种信息进行了分类管理,极大的提高了工作效率。能有效地对数据进行更新、查询、插入、组织,在很高程度上实现办公自动化。界面风格很人性化,操作十分方便,操作员几乎不要进行什么培训就可以胜任了。
2.2 项目详细调查分析
由于OA(办公自动化)对安全性的要求比较高,所以本系统要求要有严格的权限管理,因此我在里面把所有的功能细化,然后对这些细化的功能进行分配,配置;当然这个由最高权限者来安排。管理者可将对指定操作对象的指定操作权限授予指定的用户,而获得某种权限的用户还可以把这种操作权限再授予其他的用户,这样就行成了等级分明的OA。这个是完全符合我们的通常的办公理念。
2.3 数据的录入
数据的录入历来是OA(办公自动化)一个很重要的部分,为了保证输入的合法有效性,我尽最大的努力使一些输入采用智能库的方式,较大程度的使录入员避免了不合法的数据的输入。如邮件的群发就是一个很好的例子。当然还采用了javascript来控制出错的信息的输入。
2.4 数据编辑
u 数据修改:数据修改可直接在浏览模块中或检索结果中的数据修改中进行,或者也可以单独提供一个修改窗体进行数据修改,当然我这里是采用在浏览模块中和检索结果中相结合进行。我觉得这两种已经可以满足需求,完全可以胜任。
u 数据删除:
检索结果中的数据删除(标记删除):即在检索结果中,把想要删除的数据勾选出来,然后再进行数据删除。
可针对单独一条记录进行标记删除,还可针对查询结果进行删除,也可以群删。
u 数据创建:
这个我是采用独立模块来进行。以上所有的操作都有严格的权限审核。
2.5 报表生成
1、根据用户的检索结果自动生成相应的报表,方便用户预览与打印。
2、可将用户在浏览过程中的信息打印输出
3、可将检索到的信息打印输出
4、还有就是在有些地方适当的增加一些Text文本和Excel电子表格输出,极大程度的满足用户需求。
2.6 其它
员工可以对自己的业绩查询,客户和厂商都可以查询自己想要的东西。
2.7 性能要求
方便、快捷、有效地完成用户的各项工作,录入数据合法性的校验程度高,数据查询速度快。
2.8 性能描述
2.8.1 数据更新的及时性
输入数据与输出数据达到及时的更新。由于是B/S架构,所以同时保证了数据在各电脑间传递与流动时的准确性。
2.8.2 数据的准确性
保证用户输入与输出的数据准确性。同时保证数据在各电脑间传递与流时的准确性。
2.8.3 时间特征
要求能够快速响应用户的请求,以提高工作效率。
第三章 总体设计
第三章 总体设计
3.1引言
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
3.2开发目的
总体设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。总体设计是软件设计阶段的第一步,在软件开发时期中,设计阶段是最富有活力,最需要发挥创造精神的阶段。在本阶段,主要就是得用面向对象分析方法把分析阶段产生的软件需求说明转换为用适当手段表示的软件概要设计文档,从而得出本模块的具体实现方案与总体结构以及各组成部分之间的关系。
由于在此之前已经经过了详细的需求分析,所以概括的说现在这个系统应该如何实现,就比较简单了。我们首先要考虑的是OA的各个方面的性能要求,然后其他的就可以水到渠成了。
3.3数据库部分E-R图
admin
admin_id
admin_name _date
admni_status
admin_login_id
street
Street_id
street_zipcode_id
street_name
street_pkey
street_zipcode_id
personal
personnel_id
personnel_street_id
personnel_name _name
添加
personnel_duty
……
1
M N
M
….
图3-3 数据库部分E-R图
Fig 3-3 Database parts of the diagram of E- R
第四章 详细设计
第四章 详细设计
4.1 引言
详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。在概要设计已经确定了软件系统的总体结构,给予了系统中各个组成模块的功能和模块建的联系。详细设计主要是考虑“怎样实现”这个软件系统,给出各个模块的详细过程性描述。
4.2开发语言及工具的选择
4.2.1 JSP初步介绍
JSP是最流行的Web脚本语言之一,它运行在Web 服务器端,根据用户的请求或服务器端的数据产生动态网页;他的功能强大,和html脚本融合在一起,并且其具有内建访问数据库的能力;它能够作为TOMCAT web服务器的模块执行,也使得其执行效率要高于普通的CGI程序.
当前, 随着Internet/Intranet技术的发展,原有的基于单机或client/server的软件有一大部分将转向浏览器/服务器方式,也就是说将会有越来越多的软件要基于浏览器进行程序设计.
JSP 的全名是一个递归的缩写名称,"JSP: Hypertext Preprocessor",打开缩写还是缩写。JSP 是一种 HTML 内嵌式的语言。JSP 独特的语法混合了 C、Java、Perl 以及 JSP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页,功能去不逊色于它们。
图4-1: JSP 是 Web Server 最佳的后端延伸界面
fig 4-1 JSP Web Server
4.2.2 JSP 的功能概述
JSP 在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是资料表:Adabas D ,DBA ,dBase ,dbm ,filePro ,Informix ,InterBase mSQL ,Microsoft SQL Server ,SQL ,Solid ,Sybase ,ODBC ,Oracle 8 Oracle ,PostgreSQL
而在 Internet 上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP, POP3;网管系统 SNMP;网络新闻 NNTP;帐号共享 NIS;全球信息网 HTTP 及 TOMCAT 服务器;目录协议 LDAP 以及其它网络的相关函数,并且很多协议的支持在不断增加中。除此之外,用 JSP 写出来的 Web 后端 CGI 程序,可以很轻易的移植到不同的系统平台上。例如,先以 XP 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程序。面对快速发展的 Internet,这是长期规划的最好选择之一。
在加入其它的模块之后,提供了更多样的支持如下:英文拼写检查, BC 高精确度计算 ,公元历法 ,PDF 文件格式 ,Hyperwave 服务器 ,图形处理 ,编码与解码功能 ,哈稀处理 ,WDDX 功能 ,qmail 与 vmailmgr 系统 ,压缩文件处理 ,XML 解析等 。
4.2.3 JSP.ini 配置
JSP.ini 或 JSP3.ini 是 JSP 在启动时会读取的配置文件。该文件的存放路径为 /usr/local/lib/。在 JSP 3.x 版的配置文件为 JSP3.ini;而在 JSP 4.x 版改为 JSP.ini。若 JSP 安装成服务器的模块,则在 Web 服务器启动执行时会读取,之后就不再读取,因此改动配置的话要重新启动 Web 服务器。若使用独立 JSP CGI 方式,则每次都读一次。由于JSP的可移植性很强,对于熟悉了Windows 开发环境的程序员来说,可以在个人PC上安装IIS+SQL/MSSQL+JSP for win32,即可运行,。
4.2.4 开发工具介绍
由于JSP的可移植性很强,并且开发简单,只要一个简单的文本编辑器(如notepad即我们通常说的记事本)就可以了。但是这样很显然没有采用相关的软件来的容易,所以我这里推荐采用JSPEdit或者Dreamwere MX之类的专门的文本编辑软件。
4.3 数据库的选择
数据库选择方面,JSP有充足的选择,几乎市面上出现的数据库他都支持,这个在前面已分析过,我选择的是SQL,它大多数情况下是用在中型系统的开发上,数据库效率相当高,在中型应用方面我觉得要优于我们所熟悉的MSSQL。并且他的管理也相当的便捷,只要装上JSPMYADMIN,然后管理数据库可以通过web的方式来管理。
4.4数据存取技术的选择
本系统数据的存取是调用JSP 提供的数据库函数库里面的函数实现的。JSP对各种数据库提供了丰富的操作函数,对SQL 的支持也不例外。其操作简易性绝不逊色于Microsoft的ADO数据存取方式。
说到数据库的存取技术,就免不了提一下微软的ADO数据存取方式。ADO是Microsoft目前主要的数据存取技术,它籍由封装OLE_DB而能够存取不同类型的数据,让应用程序能够很方便的处理各种数据。
下面我们来了解一下Microsoft数据存取技术的演变。
ODBC
1992年Microsoft和Sybase\Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库。到目前,ODBC已经是一个稳定并且执行效率良好的数据存取引擎。不过,ODBC仅支持关系数据库,以及传统的数据库数据存取应用,并且只以C/C++语言API形式提供服务,因而无法符合日渐复杂的数据存取应用,也无法让脚本语言使用。
DAO
1993年Microsoft为了让程序员能够存取ACESS数据库,使用OLE Automation技术封装了Jet Engine. DAO能够存取dBase的数据库以及Excel文件,并且能够结合ODBC存取关系数据库。但DAO主要的设计目的是存取Access数据库,因此DAO在存取Access数据库时很有效率,但在存取其它数据源时却表现得不怎么好。目前,DAO已慢慢接近维护状态。
OLE-DB
Microsoft为了让应用程序能够以统一的方式存取各种不同的为数据源,在1997年提出了Universal Data Access(UDA)架构。UDA以COM技术为核心,协助程序员存取企业中各类不同的数据源。UDA以OLE-DB(属于操作系统的层次的软件)作为技术的骨架。OLE-DB定义了统一的COM接口作为存取各类异质数据源的标准,并且封装在一组COM对象中,藉由OLE-DB就可以使用一致的方式来存取各种数据。
ADO
虽然OLE-DB允许程序员存取各种数据,是一个非常好的架构,但是由于偏于底层化了,而且使用复杂。为了解决这一问题,并且让VB和脚本语言也能够藉由OLE-DB存取各种数据源,Microsoft同样以COM技术封装了OLE-DB为ADO对象,简化了程序员数据存取的工作。ADO成功的封装了OLE-DB的大部分功能,并且大量简化了数据存取工作
UDL
这种连接方式是很简单的,只要新建一个text的文本档,然后把.txt的后缀改成.udl就可以了,其属性设置只是点击该UDL文件。然后他将出现:提供程序,连接,索引,高级四个标签,设置你所需要修改的属性就可以了。并且他的属性设置相当简洁明了。UDL一般用在VC++的应用开发上。
4.5 JSP连接数据库:
其实JSP对数据库的操作十分简便,并且带有大量的数据库操作函数。
第一步:打开 SQL 服务器连接。
SQL_connect
语法: int SQL_connect(string [hostname] [:port], string [username], string [password]);
内容说明:本函数建立与 SQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 JSP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与端口号,代表使用那个端口与 SQL 连接。当然在使用数据库时,早点使用 SQL_close() 将连接关掉可以节省资源。
第二步:选择一个数据库。
SQL_select_db
语法: int SQL_select_db(string database_name, int [link_identifier]);
返回值: 整数
内容说明:本函数选择 SQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。
第三步:定义对数据库操作的字符串:如 $sql=”select * tablename where..”;
第四步:送出一个 query 字符串。
SQL_query
语法: int SQL_query(string query, int [link_identifier]);
返回值: 整数
内容说明:本函数送出 query 字符串供 SQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值。要特别指出的是,当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。
第五步:取出记录集:返回数组资料。
SQL_fetch_array
语法: array SQL_fetch_array(int result, int [result_typ]);
返回值: 数组
内容说明 :本函数用来将查询结果 result 拆到数组变量中。若 result 没有资料,则返回 false 值。而本函数可以说是 SQL_fetch_row() 的加强函数,除可以将返回列值和数字索引放入数组之外,还可以将文字索引放入数组中。若是好几个返回字段都是相同的文字名称,则最后一个存入的字段有效,解决方法是使用数字索引或者为这些同名的字段 (column) 取别名 (alias)。值得注意的是使用本函数的处理速度其实不会比 SQL_fetch_row() 函数慢,要用哪个函数还是看使用的需求决定。参数 result_typ 是一个常量值,有以下几种常量 SQL_ASSOC、SQL_NUM 与SQL_BOTH。当然还可用SQL_fetch_row(),不过SQL_fetch_row()没有SQL_fetch_array功能强大。
下面就是一个例子:
<?JSP
$dbh = SQL_connect('localhost','root',' ');
SQL_select_db('admreqs');
$query = "insert into requests(date, request, email, priority,status) values (NOW(),'$description', '$email', '$priority', 'NEW')";
$res = SQL_query($query, $dbh);
$query = "select max(id) from requests";
$res = SQL_query($query, $dbh);
$err = SQL_error();
if($err){
echo "发生错误,请通知<a href=mailto:webmaster@my.site>站长</a>";
}
$row = SQL_fetch_row($res);
echo "未来您使用的号码为: ".$row[0];
?>
4.6 SQL简介:
SQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与TOMCAT和JSP/PERL结合,为建立基于数据库的动态网站提供了强大动力。SQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。SQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序SQLd和很多不同的客户程序和库组成。
SQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,SQL就开发出来。SQL建立的基础是业已用在高要求的生产环境多年的一套实用的实例程序。尽管SQL仍在不断完善中,但它已经提供一个丰富和极其有用的功能集。
4.7数据库设计:
4.7.1 表与表之间的关系
我们常用外关键字来描述表与表之间的关系。关系模式R中属性或属性组X并非R的关键,但X是另一个关系模式的关键字,则称X是外关键字,也称外码。
4.7.2 数据库的创建
表4-1 人事表
chart 4-1 personnel
字段名称
类型
长度
非null
初始值
中文含义
personnel_id
int4
4
是
Nextval
('"personnel_personnel_id_seq"'
::text)
人事编号
personnel_duty_date
date
4
是
员工工作日期
personnel_zipcode_id
int4
4
是
邮编
personnel_street_id
int4
4
是
街道名称
personnel_substreet_name
varchar
128
是
详细地址
personnel_login_id
varchar
16
是
登陆帐号
personnel_password
varchar
32
是
密码
personnel_name
varchar
32
是
员工名称
personnel_gender
char
1
是
性别
personnel_blood
varchar
2
是
血型
personnel_identify_card
varchar
32
是
身份证号
personnel_birthday
date
4
是
员工生日
personnel_tel
varchar
64
是
电话号码
personnel_mobile
varchar
64
是
手机号码
personnel_email
varchar
64
是
E-mail地址
personnel_unit_id
int4
展开阅读全文