- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库通用查询系统设计文档
软件工程
课程设计报告
题 目 数据库通用查询系统
学院名称 数理学院
指导教师 贺慧琳
班 级 信计071班
学生姓名 杨兴伟(20074390117)
郑大勇(20074390118)
史长龙 (20074390116)
2010年12月19日
数据库通用查询系统
一.可行性分析
该软件选择的开发环境为Jcreator。由于对数据库要求不高,所以我们可以选择Microsoft的Access做为存放数据的数据库。
了解了用户的需求后,我们拟定使用基于C/S模式的网络编程技术实现用户需求。用户只需在客户端输入要查询的记录的某个字段,然后选择匹配方式就可以查询到相关信息。服务器端接受到用户输入信息处理后返回给客户端。
该软件使用到的关键技术是Socket,Socket 用来实现客户端和服务端的连接,它是TCP/ IP 协议的编程界面,由一个IP 地址和一个端口号惟一确定。在J ava环境下, Socket 编程是基于TCP/ IP 协议的网络编程。采用Socket 套接字把网络连接作为一个流(St ream) ,通过流读写字节。客户端与服务器端使用约定一致的协议或标准来通信。由于在一个机器上同时运行了多个相同的或不同的网络服务器,因此,端口号可作为约定的标准或协议的一部分,以便客户机定位服务器。网络服务器绑定在某一端口上,监听新的连接。服务器允许客户端建立一个相对持久的连接,在这个链接的生命周期中,客户端不断请求服务器的服务,直到客户端显示断开这个连接。
在服务器端为了同时为多个用户服务,所以我们利用了多线程技术。
二.需求分析
当仅仅查询数据库表中的记录时,我们可以不必知道表中字段的属性,因为无论字段是何种属性,总可以使用getString(int columnIndex)或getString(String columnName)方法返回字段值的字符串形式与其他字符串进行匹配比较。
基于以上所述,要求设计一个C/S模式的数据库通用查询系统,具体要求如下:
客户端窗口程序从文本文件中获取数据库中的表的名字、表的字段名字以及表中字段的个数。这样一来,当需要更换所查询的表时,只要修改文本文件,而不需要修改客户端程序,使客户端程序在查询数据时具有了通用性。
2)客户端程序通过套接字连接和服务器的Java应用程序实现通信。客户端程序将表的名字、表中字段的个数以及查询条件提交给服务器,服务器的Java应用程序进行查询操作,并将查询结果返回给客户端。
程序状态图:
三.概要设计
在设计数据库查询系统时,需要编写3个Java源文件:DatabaseServer.java、ServerThread.java和DatabaseClient.java。其中DatabaseServer.java和ServerThread.java为服务器端Java程序编译产生所需的类;DatabaseClient.java为客户端程序编译产生所需要的类。数据库通用查询系统除了需要编写的3个Java源文件所编译所产生的类外,还需要Java系统提供的一些重要的类。如下:
另外,为了调试代码的需要,我们用Microsoft Access设计了名为book.mdb的数据库。
数据库
设计数据库的名字为book.mdb,在库中所创建的表为bookform.。
DatabaseServer.java(服务器端)
DatabaseServer类创建的对象负责响应客户请求,该类含有main方法,服务器端从该类开始执行。DatabaseServer类的成员变量中有3种重要类型的对象:ServerSocket、Socket和ServerThread对象。DatabaseServer类运行效果如下:
ServerThread.java(服务器端)
ServerThread类是Thread类的子类,在Server类中负责为请求连接的用户启动一个线程对象。
4.DatabaseClient.java(客户端)
DatabaseClient.java中有两个类,分别是Client和DatabaseClient。Client是Frame类的子类,Client类的成员变量中有4种重要类型的对象:Choice、Checkbox、TextArea和Socket对象。DatabaseClient是客户端主类。效果如下图:
四.详细设计
1. DatebaseServer类
UML图
DatebaseServer类是数据库通用查询系统服务器端的主类,负责响应客户的连接请求、建立和
您可能关注的文档
最近下载
- 行进间低手投篮教案.doc VIP
- (正式版)H-Y-T 250-2018 无居民海岛开发利用测量规范(正式版).docx VIP
- “增材制造项目”—第二届职业技能大赛甘肃省选拔赛—技能试卷(样题).pdf VIP
- 日照城市介绍PPT模板.pptx VIP
- DLT 5219-2023 架空输电线路基础设计规程.pdf VIP
- 附睾炎护理查房.pptx VIP
- 跨学科实践“用'水透镜'探究近视眼的形成原因”(教学课件)物理沪粤版2024八年级上册.pptx VIP
- 2025年新人教版语文八年级上册全册教学设计.docx
- 华为认证ICT工程师HCIA考试(习题卷5).pdf VIP
- 招商运营专员岗位面试题及答案.docx VIP
原创力文档


文档评论(0)