河海大学文天学院数据库课程设计.doc_第1页
河海大学文天学院数据库课程设计.doc_第2页
河海大学文天学院数据库课程设计.doc_第3页
河海大学文天学院数据库课程设计.doc_第4页
河海大学文天学院数据库课程设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作者:解小雨110310120 二一三年十二月八日安徽马鞍山 数据库应用与可视化开发技术课程设计报告1 引言1.1 数据库应用技术现状数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础1.2 面对对象与可视化技术应用前景可视化技术使人能够直接对具有形体的信息进行操作,和计算机直接交流。这种技术已经把人和机器的力量以一种直觉而自然的方式加以统一,这种革命性的变化无疑将极大地提高人们的工作效率,用以前不可想象的手段来获取信息或发挥自己创造性的思维。随着科技的蓬勃发展,可视化技术的应用领域越来越广阔。从CT技术到数字人体,可视化技术在医疗与生命科学得到广泛应用;空间信息的可视化,在地理、军事等领域应用日益普遍。总之,可视化技术,应用前景无限广阔。 1.3 课程设计的目的和任务 目的:熟悉一种可视化开发平台,掌握数据库应用当中的Java连接技术、嵌入式SQL语言使用技术、事务控制技术、事件程序设计技术、面向对象的可视化技术,掌握数据库应用的分析、设计实现的方法。 任务:安装、设置PowerBuilder可视化开发环境并作出一系列技术实验,包括应用程序的创建,常用事件程序设计方法,一个表上提供的增、删、改的实现并且搭建应用原型,事务访问应用,事务控制技术,数据库连接策略。2 相关方法与技术 本章内容主要以查阅文献为途径,总结概括出数据库应用相关的方法与技术,内容主要涉及到数据库应用系统体系结构、可视化面向对象技术、事件驱动程序设计、数据库事务控制技术、数据库连接策略及数据处理技术。2.1 数据库应用系统体系结构2.2 可视化面向对象技术2.3 事件驱动程序设计2.4 数据库事务控制技术2.5 数据库连接策略3 课题分析3.1选题背景 随着企业的不断发展,大中型企业的车辆使用与管理工作一日复杂,司机的不固定,车辆的保修,报废等等,一系列问题干扰者我们。由此车辆管理信息系统产生了。3.2 数据需求 车辆的基本信息:车辆牌照号,品牌,购买日期,购买金额等等;司机的基本信息:司机编号,司机姓名,驾驶历史,驾驶等级,电话,家庭住址;车辆和司机的关系属性:驾驶时间,距离等等。3.3 功能需求车辆信息的增,删,改,查询;司机信息的增,删,改,查询;车辆使用信息的增,删,改,查询。一、 需求分析1.1数据需求1.1.1数据流条目登录界面=用户名+登录密码用户=用户编号+姓名+密码+其它 车辆=车辆编号+车辆品牌+车辆购买时间+购买日期等 司机=司机编号+司机姓名+司机年龄+联系电话+家庭地址等车辆使用=车辆编号+司机编号+使用时间等1.1.2数据字典名字:车辆信息管理别名:描述:唯一地标识每一个病人的关键域定义:车辆编号=1101numeric1123位置:添加信息 修改信息 删除信息 查询信息名字:司机信息管理别名:描述:唯一地标识每一个病床的关键域定义:司机编号=1numeric4,1101numeric4404位置: 添加信息 删除信息 修改信息 查询信息名字:权限编号别名:描述:唯一地标识每一个权限的关键域定义:权限编号 =201numeric501位置: 权限表 用户拥有权限表名字:车辆使用信息管理别名:描述:司机编号+车辆编号位置: 输出到打印机excel1.1.3数据需求模型1.2功能需求1.2.1功能划分医院管理系统主要实现以下十个方面的功能:1.用户登录 2.修改密码 3.车辆信息编辑(添加,删除,修改)及查询 4.司机信息编辑(添加,删除,修改)及查询5.车辆使用信息编辑(添加,删除,修改)及查询6.系统维护(设置用户权限)1.2.2功能描述车辆管理包括用户登录、车辆信息编辑、车辆信息查询、车辆使用信息查询、司机信息编辑、司机信息查询、车辆使用信息编辑、车辆使用信息查询、车辆使用信息编辑及系统维护等功能。 用户登录,用户必须使用正确的用户名和密码才能访问系统;车辆信息编辑,实现对车辆信息的添加、修改和删除的功能;司机信息查询,实现了详细查询司机的信息。同时对车辆和司机信息的进行管理,车辆使用信息查询及编辑,是更好地给司机安排车辆。系统维护,系统管理员可以注册用户,还可以设置新用户的可编辑及查询的权限。1.2.3功能需求模型1.3安全需求 数据库级的安全性控制一般采用用户标识与口令鉴别、存取控制、视图和数据加密等安全技术。本车辆管理系统采用用户名标示与密码鉴别技术来实现安全控制。考虑到不同用户的权限不同,第一次进入该系统时应该向系统管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库用户权限表中。这样系统管理员就可赋予不同用户不同的权限。每位用户根据自己的身份不同,拥有不同的权限,包括可编辑,可查询,可维护系统等。系统管理员有权力行使所有的管理功能,普通用户只能进行一般的编辑或查询,而系统管理员还有维护系统的权限。1.4一致性需求在车辆管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。例如在车辆信息编辑中,想删除车辆,系统会提示:该车辆有使用信息记录,禁止删除。1.5完整性需求:根据车辆管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。一引言数据库应用技术现状数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础面对对象与可视化技术应用前景可视化技术使人能够直接对具有形体的信息进行操作,和计算机直接交流。这种技术已经把人和机器的力量以一种直觉而自然的方式加以统一,这种革命性的变化无疑将极大地提高人们的工作效率,用以前不可想象的手段来获取信息或发挥自己创造性的思维。随着科技的蓬勃发展,可视化技术的应用领域越来越广阔。从CT技术到数字人体,可视化技术在医疗与生命科学得到广泛应用;空间信息的可视化,在地理、军事等领域应用日益普遍。总之,可视化技术,应用前景无限广阔。 本课程设计报告主要介绍了用数据库开发工具PowerBuilder8.0开发一个小型数据库信息管理系统车辆管理系统的设计过程。在数据库系统的开发工具中,PowerBuilder8.0是基于C/S结构的面向对象的可视化开发工具,提供有图形化应用开发环境,使用户使用PowerBuilder8.0可以方便地开发基于后台服务器中的数据库的数据库应用系统。课程设计的目的和任务 目的:熟悉一种可视化开发平台,掌握数据库应用当中的Java连接技术、嵌入式SQL语言使用技术、事务控制技术、事件程序设计技术、面向对象的可视化技术,掌握数据库应用的分析、设计实现的方法。 任务:安装、设置PowerBuilder可视化开发环境并作出一系列技术实验,包括应用程序的创建,常用事件程序设计方法,一个表上提供的增、删、改的实现并且搭建应用原型,事务访问应用,事务控制技术,数据库连接策略。本文详细分析了医院信息管理系统中各个模块具体开发过程及其之间的关系,具体的各个模块如下:1. 登录系统:该模块包括登录系统、修改口令等等。2.车辆信息管理:该模块包括车辆信息查询和车辆信息编辑。用户利用车辆信息编辑模块,能够实现对车辆基本情况的添加、修改、删除等基本操作。用户利用车辆信息查询模块,能够实现车辆的详细信息,同时还能对车辆的信息的查询。3.司机信息管理:该模块包括司机信息查询和司机信息编辑。用户利用司机信息编辑模块,能够实现对司机信息的添加、修改、删除等基本操作。用户利用司机信息查询模块,能够实现车辆的使用情况,进而对车辆使用的安排有一定的帮助。4.系统维护:该模块包括基于单表设置用户权限和基于多表设置用户权限。系统管理员可以利用一个表格或三个表格来设置用户可以编辑、可以查询、可以对系统进行维护等权限。本系统界面友好,操作简单,比较实用。二、 需求分析1.1数据需求1.1.1数据流条目登录界面=用户名+登录密码用户=用户编号+姓名+密码+其它 车辆=车辆编号+车辆品牌+车辆购买时间+购买日期等 司机=司机编号+司机姓名+司机年龄+联系电话+家庭地址等车辆使用=车辆编号+司机编号+使用时间等1.1.2数据字典名字:车辆信息管理别名:描述:唯一地标识每一个病人的关键域定义:车辆编号=1101numeric1123位置:添加信息 修改信息 删除信息 查询信息名字:司机信息管理别名:描述:唯一地标识每一个病床的关键域定义:司机编号=1numeric4,1101numeric4404位置: 添加信息 删除信息 修改信息 查询信息名字:权限编号别名:描述:唯一地标识每一个权限的关键域定义:权限编号 =201numeric501位置: 权限表 用户拥有权限表名字:车辆使用信息管理别名:描述:司机编号+车辆编号位置: 输出到打印机excel1.1.3数据需求模型1.2功能需求1.2.1功能划分医院管理系统主要实现以下十个方面的功能:1.用户登录 2.修改密码 3.车辆信息编辑(添加,删除,修改)及查询 4.司机信息编辑(添加,删除,修改)及查询5.车辆使用信息编辑(添加,删除,修改)及查询6.系统维护(设置用户权限)1.2.2功能描述车辆管理包括用户登录、车辆信息编辑、车辆信息查询、车辆使用信息查询、司机信息编辑、司机信息查询、车辆使用信息编辑、车辆使用信息查询、车辆使用信息编辑及系统维护等功能。 用户登录,用户必须使用正确的用户名和密码才能访问系统;车辆信息编辑,实现对车辆信息的添加、修改和删除的功能;司机信息查询,实现了详细查询司机的信息。同时对车辆和司机信息的进行管理,车辆使用信息查询及编辑,是更好地给司机安排车辆。系统维护,系统管理员可以注册用户,还可以设置新用户的可编辑及查询的权限。1.2.3功能需求模型1.3安全需求 数据库级的安全性控制一般采用用户标识与口令鉴别、存取控制、视图和数据加密等安全技术。本车辆管理系统采用用户名标示与密码鉴别技术来实现安全控制。考虑到不同用户的权限不同,第一次进入该系统时应该向系统管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库用户权限表中。这样系统管理员就可赋予不同用户不同的权限。每位用户根据自己的身份不同,拥有不同的权限,包括可编辑,可查询,可维护系统等。系统管理员有权力行使所有的管理功能,普通用户只能进行一般的编辑或查询,而系统管理员还有维护系统的权限。1.4一致性需求在车辆管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。例如在车辆信息编辑中,想删除车辆,系统会提示:该车辆有使用信息记录,禁止删除。1.5完整性需求:根据车辆管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。三、 相关方法与技术2.1事件的总述事件就是对象可能会发生的事情。微软的视窗系统(windows)就是一个事件驱动环境。在事件驱动环境中,程序的流程并不能够预先确定,而是特定的时间触发应用程序中对应的某些代码,运行完成这些代码后,系统进入一种等待状态,等待下一个事件相应的代码。PowerBuilder8.0的应用程序是事件驱动的,事件是由Windows系统通过消息传递的。Windows系统接收到所有的硬件和软件事件,并将事件转换成消息发给相应的对象。消息中包含了其他类型码,类型码代表事件的类型。在PowerBuilder8.0中用户可以为事件编写脚本,从而控制程序的运行,对用户的动作或系统事件发生响应。在PowerBuilder8.0中每一类对象都有一些预定义的事件,比如命令按钮有单击事件,编辑框控件有更新事件等。一般来说,这些预定义的事件能满足用户的需要,如有特殊需要,用户还可以定义自己的用户事件。2.2可视化的总述可视化(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机视觉、计算机辅助设计等多个领域,成为研究数据表示、数据处理、决策分析等一系列问题的综合技术。目前正在飞速发展的虚拟现实技术也是以图形图像的可视化技术为依托的。可视化技术最早运用计算机科学中,并形成了可视化技术的一个重要分支科学计算可视化(Visualization in Scientific Computing)。科学计算可视化能够把科学数据,包括测量获得的数值、图像或是计算中涉及、产生的数字信息变为直观的、以图形图像信息表示的、随时间和空间变化的物理现象或物理量呈现在研究者面前,使他们能够观察、模拟和计算。 2.3面向对象的总述面向对象程序设计(OOP)吸收了结构化程序设计的精髓,同时对数据的组织形式有了根本的改进。面向对象程序设计方法将同类对象从属于一个类,对象是一系列变量以及操作这些变量的函数的集合体,只有属于某一对象的函数才能访问该对象的数据。2.4信息系统开发方法 在车辆管理系统的开发过程中,主要利用PowerBuilder8.0的可视化和方便操作的特点,直接在PowerBuilder8.0创建窗口和拖动具体的控件来开发系统。创共享库共享全局函数,例如连接数据库函数和断开数据库连接函数。用多个专用库,每个专用库封装单独模块的函数和窗体,这样也便于后期的维护。用SQL 语言来触发具体控件的事件。利用ODBC连接数据源,另外利用用户姓名加密码进行安全控制。2.5 PowerBuilder的特点PowerBuilder8.0既支持面向对象的开发方法,又支持可视化开发技术,是一个优秀的开发工具,其有如下这么多强大的功能: (1)PowerBuilder8.0提供了对目前流行的大多数关系数据库管理系统的支持,由于在PowerBuilder8.0的应用程序中对数据库的访问一般采用结构化查询语言SQL,使得用PowerBuilder8.0的应用程序可以不做修改或者只做少量修改就可以在不同的后台数据库管理系统上使用。也就是说,用PowerBuilder8.0开发的应用程序是独立于服务器上的数据库管理系统的。 (2)和大多数Windows应用程序一样,PowerBuilder8.0也是事件驱动工作方式。在PowerBuilder8.0应用程序中,接受发生的事件的往往是程序界面的各种可视化对象。事件驱动的工作方式与面向对象技术紧密相关的。 (3)PowerBuilder8.0是一种面向对象的开发工具,各种Windows应用程序中常见的窗口,菜单,控件等在PowerBuilder8.0中都是一个个的对象。PowerBuilder8.0支持面向对象程序设计方法,支持继承性,多态性,封装性这些面向对象编程技术。使用这些技术,开发人员可以最有效地利用所创建的每一个对象,使应用程序具有可重用性,可拓展性。在PowerBuilder8.0中,窗口对象,菜单对象和用户对象是可以继承的。当用户继承了一个对象,所得到的子类将具有与父类相同的属性,控件,事件及脚本代码等。也就是数子类继承了父类所有的变量和函数,用户通过在子类中加入一些新的数据成员和函数,就可以得到一个功能更强大的类。继承使用户可以利用经过严格检验的代码,大大提高了代码的重复利用率,从而极大地缩短了程序的开发周期。多态性使得函数的功能随着应用对象类型的变化而变化。比如,文件类和目录类都是一个方法Delete,该方法的行为会根据不同的对象类型而改变,当一个文件类的对象使用Delete方法时,调用的是文件类的Delete方法,而当一个目录类的对象使用Delete方法时,调用的是目录类的Delete方法。对象的多态性使得对不同类对象的处理变得一致。封装就是把一些数据元素和操作行为放到一个对象中。对象内部的细节在很大程度上是隐蔽的,一个对象的数据成员只能由该对象自身的函数来存取。 (4)在当今网络时代,许多不同的操作系统平台在Internet网上同时使用,于是对开发的应用程序的跨平台性提出了更高的要求。而PowerBuilder8.0就提出了良好的跨平台性,比如,在PowerBuilder8.0中,利用Windows平台开发的各种对象可以方便地应用到UNIX平台中,应为PowerBuilder8.0支持对象的跨平台性。另外PowerBuilder8.0具有自己的编程语言PowerBuilder8.0中控件中事件的Script,这个语言除了提供基本的流程控制语句外,还提供了几百个函数来操作各种对象,另外还提供了数据窗口对象。四、 二、 关键功能的设计与实现3.1应用程序包装的设计与实现3.1.1创建workspace进入PowerBuilder8.0开发环境,单击工具栏上的“New”图标,打开“New”对话框;选择“Workspace”选项卡并选择“Workspace”图标,单击OK按钮打开“New Workspace”对话框;设置好工作区保存的路径和文件名后,单击保存按钮创建一个新的工作区。3.1.2创建target首先鼠标在新建的workspace上右击,选择New,然后再给target取个名字,最后点击OK后就生成了target。3.1.3创建专用库和共享库在图书信息管理系统中,只创建一个共享库,在共享库中定义共享的函数,主窗口以及主菜单。根据具体的业务需求,在图书信息管理系统中创建5个专用库,分别实现5大功能。在共享库中,首先创建一个主窗口,然后创建菜单,接着创建登录窗口和修改密码窗口,最后创建系统信息窗口。另外在共享库中创建连接数据库函数和断开连接数据库函数,以及定义登录系统所需的函数。在专用库中创建与每个模块相关的窗口和数据窗口。 3.1.4应用程序的包装实现 3.2数据库访问策略的设计与实现PowerBuilder8.0与数据库连接可以通过通用接口与专用数据库接口两种方式来实现,在图书信息系统开发的过程中,是通过ODBC与数据库连接的。通过ODBC连接数据库需要经过两个步骤:一是配置ODBC数据源,二是连接到数据库。1.配置数据源(1)启动PowerBuilder后,单击工具栏上的“DB Profiles”图标,如下图所示。 (2)用鼠标双击“ODB ODBC 下“Utilities 内的”“Create ODBC Data Source”选项,打开如下图所示“创建新数据源”对话框。 (3)选择“用户数据源”选项,再一直按“下一步”,打开如下图所示的“ODBC Configuration”对话框。 (4)在“ODBC”标签页输入数据源的名称,在“Login”标签页输入连接数据库的账号和密码,在“Database”标签页输入数据库的名称和导入已经建好的数据库“mydb.db”后,测试成功后,单击“确定”按钮后,即可完成新数据源的创建。 2.连接到ODBC数据库(1)单击工具栏上的“Database”图标,打开“Database Connection”图标。(2)在“ODB ODBC”选项上,右击鼠标,选择“New profile”,打开“ODBC Profile Setup”。填写文件名称和找到数据源名称,测试成功后,即可完成数据库文件的创建,如下图所示。 (3)单击工具栏上的“ODBC Profile”图标,打开“Database Profiles”对话框,如图所示。 (4)选中已配置好的数据源“hospital”,单击“Connect”按钮,就可以连接到该数据源所定义的数据库上。3.3应用软件安全控制的设计与实现 1.安全控制的设计在本图书信息管理系统中,安全性控制采用用户姓名与口令鉴别技术。用户登录系统时,首先要填写姓名和密码,填写完再按“确定”按钮。接着事务对象就访问数据库,检查该用户是否有权限登录系统。如果有权限登录系统,再检查具体的编辑,查询,维护系统等权限。如果没有权限,就输出“您的帐户不正确,不能登录系统”。 2.安全控制的实现(1)创建登录窗口。首先选中共享库,接着选择主菜单的File,然后选择New,接着选择PB object下的Window图标,最后单击Ok。接着在新建的窗口里选择合适的控件,调整大小,最后点击Ok,即可完成登录窗口的创建,如下图所示。(2)定义相关函数。A.在窗口的脚本里粘贴数据源的代码和定义游标,如下所示。/ Profile hospitalSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=cyy;UID=dba;PWD=sqlconnect;if sqlca.sqlcode 0 thenmessagebox(警告,Error 1 连接数据库 ( Connect database ) 失败!)returnend ifstring mclong isle_1.reset()declare start1 cursor for select user_xm from dmuser where allow_log = y and xm_select = yorder by user_xm;open start1;fetch start1 into :mc;i = 1do while sqlca.sqlcode = 0sle_1.InsertItem(mc,i)i = i + 1fetch start1 into :mc;loopclose start1;B.提交用户填写的登录信息。string password,allow_log,log_stringlog_string = sle_1.textselect user_xm,password,allow_log into :czyxm,:password,:allow_log from dmuser where user_xm = :log_string;if sqlca.sqlcode = 100 or trim(sle_2.text) password thenmessagebox(警告,Error 6 您的帐户不正确,不能登录系统!)sle_1.setfocus()returnend ifif not allow_log = y then /该用户没有登录权限messagebox(警告,Error 7 您的帐户没有获准注册权限,不能登录系统 !)sle_1.setfocus()returnend if closewithreturn(parent,login is ok) /该用户合法,关闭登录窗口C. “登录系统”菜单的脚本if isnull(db_edit) then db_edit = nif isnull(db_query) then db_query = nif isnull(sys_wh) then sys_wh = nhospitalmenu.m_1.m_11.enabled = falsehospitalmenu.m_1.m_12.enabled = truehospitalmenu.m_2.m_21.enabled = truehospitalmenu.m_2.m_22.enabled = truehospitalmenu.m_3.m_31.enabled = truehospitalmenu.m_3.m_32.enabled = truehospitalmenu.m_4.m_41.enabled = truehospitalmenu.m_4.m_42.enabled = truehospitalmenu.m_4.m_43.enabled = truesetmenu2(db_edit,db_query)setmenu3(db_edit,db_query)setmenu4(sys_wh)close(parent)(3)用户可登陆,激活菜单的实现 没有登录时,窗口的才当没有被激活,无法编辑,如图所示用户登录系统,如图所示菜单被激活,如图所示3.4基本表的数据维护3.4.1数据输出的设计与实现(1) 创建窗口。首先选中专用库,接着选择主菜单的File,然后选择New,接着选择PB object下的Window图标,最后单击Ok。接着在新建的窗口里选择合适的控件,调整大小,最后点击Ok,即可完成窗口的创建,如下图所示。(2)填写控件事件的代码。 open事件的代码:if not connectdb_by_sqlca() thenreturnend ifdw_1.settransobject(sqlca)dw_1.retrieve()disconnectdb_by_sqlca()数据窗口click事件:if not row 0 thenreturnend ifthis.selectrow(0,false)this.selectrow(row,true)增加按钮事件:/open(w_stu_edit)OpenWithParm(w_car_exid, appe)if message.stringparm = reload thendw_1.SetRedraw(false)if not connectdb_by_sqlca() thenreturnend ifdw_1.settransobject(sqlca)dw_1.retrieve(depart)disconnectdb_by_sqlca()dw_1.SetRedraw(true)end if删除按钮事件:string snumber,cidint nn = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示,请选择将要删除的车辆记录!)returnend if/snumber = dw_1.getitemstring(n,snumber)cid = dw_1.getitemstring(n,carid)/open(w_stu_edit)OpenWithParm(w_car_exid, dele + cid )if message.stringparm = reload thendw_1.SetRedraw(false)if not connectdb_by_sqlca() thenreturnend ifdw_1.settransobject(sqlca)dw_1.retrieve(depart)disconnectdb_by_sqlca()dw_1.SetRedraw(true)end if修改按钮事件:int nn = dw_1.getselectedrow(0)if not n 0 thenmessagebox(提示,请选择将要修改的成绩记录!)returnend ifst_clid.text = dw_1.getitemstring(n,carid)/st_cno.text = dw_1.getitemstring(n,cnumber)/open(w_stu_edit)OpenWithParm(w_car_exid, edit)if message.stringparm = reload thendw_1.SetRedraw(false)if not connectdb_by_sqlca() thenreturnend ifdw_1.settransobject(sqlca)dw_1.retrieve(depart)disconnectdb_by_sqlca()dw_1.SetRedraw(true)end if3.5 3.4.2数据添加的设计与实现创建窗口。要添加一个数据,还得再创建一个供编辑的窗口。首先选中专用库,接着选择主菜单的File,然后选择New,接着选择PB object下的Window图标,最后单击Ok。接着在新建的窗口里选择合适的控件,调整大小,另外创建数据对象并将其导入数据窗口中,最后点击Ok,即可完成窗口的创建,如下图所示。(2)相关控件事件的代码及实现效果。A.“确认”控件的clicked的事件的代码如下string cid,cnoint s,ynif not connectdb_by_sqlca() thenreturnend ifdw_1.settransobject(sqlca)CHOOSE CASE the_flagCASE appe/st_1.text = 添加车辆信息记录cid = dw_1.getitemstring(1,carid)if isnull(cid)thenmessagebox(提示,车辆号不能为空!)returnend ifselect count(*) into :s from car where carid = :cid;if s 0 thenmessagebox(提示,该车辆记录已经存在,不能存入数据库!)returnend ifif dw_1.update() = 1 thenrollback ;messagebox(提示,添加记录存库失败! )returnend ifcommit;CASE editif dw_1.update() 1 thenrollback ;messagebox(提示,更新存库失败! )returnend ifcommit;CASE deleyn = messagebox(提示,您将删除该车辆记录!请最后确认?,Question!,YesNo!)if not yn = 1 thenreturnend ifdw_1.deleterow(0)if dw_1.update() 1 thenrollback ;messagebox(提示,删除失败! )returnend ifcommit;END CHOOSEdisconnectdb_by_sqlca()/closewithreturn(parent,reload)B.“取消”控件的clicked的事件的代码如下Close(parent) /关闭当前窗口3.5用户账号管理3.5.1.增加按钮事件代码dw_1.insertrow(0)dw_1.scrolltorow(dw_1.rowcount()3.5.2.修改按钮事件代码long li_rowstring ls_no,is_czlxli_row = dw_1.getrow()if li_row 0 thendw_1.enabled = true is_czlx = modifydw_1.setfocus()dw_1.setcolumn(1)end if3.5.3.保存按钮事件代码/dw_1.update()integer li_update/必要的检测li_update = dw_1.Update()IF li_update = 1 then /AND SQLCA.SQLNRows 0 THENCOMMIT USING SQLCA; ELSEmessagebox(错误,无法存入数据库)ROLLBACK USING SQLCA; END IF3.5.4.删除按钮事件代码long li_rowstring l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论