Welcome 微信登录

首页 / 软件开发 / Delphi

第十三章-Delphi开发数据库应用程序概述(一)(1)

第十三章-Delphi开发数据库应用程序概述(一)(1)

第十三章-Delphi开发数据库应用程序概述(一)(1)2007-05-0713.1 数据库系统概述 数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。一般来说,DBM...
第十三章-Delphi开发数据库应用程序概述(一)(2)

第十三章-Delphi开发数据库应用程序概述(一)(2)

第十三章-Delphi开发数据库应用程序概述(一)(2)2007-05-0713.2.1 Delphi的数据库特性 跟其他的应用程序一样,Delphi提供了许多部件以方便地创建数据库应用程序。数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。Delphi的部件板上提供了两页数据库应用程序开发中所要使用的部件: 数据访问页(Data Access Page)上的部件用于直接访问数据库中的数据库表。 数据控制页(Data Contr...
第十三章-Delphi开发数据库应用程序概述(一)(3)

第十三章-Delphi开发数据库应用程序概述(一)(3)

第十三章-Delphi开发数据库应用程序概述(一)(3)2007-05-0713.3 Delphi数据库的体系结构 Delphi使用可视化的部件创建数据库应用,跟创建其它的非数据库应用程序一样,数据库部件都具备一定的属性,程序设计人员可以在设计过程中设置部件的多种属性,也可以在程序运行过程中通过程序来设置部件的各种属性。 在Delphi部件板上有两页数据库部件用于开发数据库应用程序: 数据访问部件页:该页上的部件主要用于说明有关的数据库的信息,如应用程序...
第十三章-Delphi开发数据库应用程序概述(二)(1)

第十三章-Delphi开发数据库应用程序概述(二)(1)

第十三章-Delphi开发数据库应用程序概述(二)(1)2007-05-0713.3.2 数据控制部件 数据控制部件页上的部件,主要用于设计用户界面,对数据库中的数据进行浏览、编辑、插入、删除等操作。因而数据控制部件常常又被称为数据浏览部件,数据控制部件其实是在Standard页上的标准部件的基础上,相应地增加了数据浏览功能,使得它们能够显示和编辑数据库中数据信息。 数据控制部件既能够把数据库中的数据显示到窗体中,又可以将其自身的经过修改的数据写回到数...
第十三章-Delphi开发数据库应用程序概述(二)(2)

第十三章-Delphi开发数据库应用程序概述(二)(2)

第十三章-Delphi开发数据库应用程序概述(二)(2)2007-05-0713.3.3 数据库窗体专家和数据库操作台(DBD) Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做“数据库窗体专家”(Database Form Expert),在Delphi系统菜单Tool菜单下可以找到。数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务,它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型...
第十三章-Delphi开发数据库应用程序概述(二)(3)

第十三章-Delphi开发数据库应用程序概述(二)(3)

第十三章-Delphi开发数据库应用程序概述(二)(3)2007-05-073、系统运行和维护一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用程序在运行过程中,用户会提出一些新的需求和建议,根据用户需求的变化,应当对应用程序做一定的修改,使其进一步地得到完善和提高。 13.4.3 交付数据库应用程序 交付数据库应用程序意味着将它交付给最终用户,并且提供应用程序运行所需的软件,非数据库应用程序往往只需要一个EXE文件,而数据库应用程序要包括...
第十三章-Delphi开发数据库应用程序概述(二)(4)

第十三章-Delphi开发数据库应用程序概述(二)(4)

第十三章-Delphi开发数据库应用程序概述(二)(4)2007-05-0713.4.5 安装SQL Link 安装SQL链接与安装BDE执行相同的步骤,在图13.7中只选择SQL Link检查框,然后执行安装,选择应用程序要访问的SQL数据库服务器,当选择安装SQL Link时, 安装程序会自动地安装BDE。根据用户选择的SQL数据库服务器,安装程序会自动地提示相关的特定信息,例如Informix数据库系统的链路(SQL Link)需要一个放置消息文件的...
第十二章-异常处理与程序调试(一)(1)

第十二章-异常处理与程序调试(一)(1)

第十二章-异常处理与程序调试(一)(1)2007-05-07在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。在 Delphi 的集成开发环境( IDE )中提供了一个完善的内置调试器,可以帮助你发现大部分程序错误。但并不是所有的错误都可以被发现,而且当程序涉及到与外设的数据交换或操作外设,如要求用户输入、读写磁盘等时,错误的发生是程序无法控制的,如输入非法字符、磁盘不能读写等。这些情况不仅会导致应用程序异常中止而且可能引起系统的崩溃。针对这...
第十二章-异常处理与程序调试(一)(2)

第十二章-异常处理与程序调试(一)(2)

第十二章-异常处理与程序调试(一)(2)2007-05-0712.1.1.3 整数异常 整数异常都是从一个EIntError类派生的,但程序运行中引发的总是它的子类:EDivByZero,ERangeError,EIntOverFlow。 表12.2 整数异常及其产生原因━━━━━━━━━━━━━━━━━━━━━异常类 引发原因─────────────────────EDivByZero 试图被零除ERangeError 整数表达式越界EIntOv...
第十二章-异常处理与程序调试(一)(3)

第十二章-异常处理与程序调试(一)(3)

第十二章-异常处理与程序调试(一)(3)2007-05-0712.1.1.4 浮点异常 浮点异常是在进行实数操作时产生的,它们都从一个EMathError类派生,但与整数异常相同,程序运行中引发的总是它的子类EInvalidOp、EZeroDivide、EOverFlow、EUnderFlow。 表12.4 浮点异常类及其引发原因━━━━━━━━━━━━━━━━━━━━━━━━异常类 引发原因────────────────────────EInvali...
第十二章-异常处理与程序调试(一)(4)

第十二章-异常处理与程序调试(一)(4)

第十二章-异常处理与程序调试(一)(4)2007-05-0712.1.2 对象异常类 所谓对象异常是指非部件的对象引发的异常。Delphi定义的对象异常包括流异常、打印异常、图形异常、字符串链表异常等。 12.1.2.1 流异常类 流异常类包括EStreamError、EFCreateError、 EFOpenError、EFilerError、EReadError、EWriteError、EClassNotFound。它们的结构关系如下: EStream...
第十二章-异常处理与程序调试(一)(6)

第十二章-异常处理与程序调试(一)(6)

第十二章-异常处理与程序调试(一)(6)2007-05-0712.2.2 产生一个资源保护块 Delphi提供了一个保留字finally,用于实现资源的保护: {分配资源}try{资源使用情况}finally{释放资源}end; try…finally…end就形成了一个资源保护块。finally后面的语句是在任何情况下,不论程序是否发生异常,都会执行的。对于(12.2.1)中的例子如下代码即可确保所分配内存资源的释放: var...
第十二章-异常处理与程序调试(二)(1)

第十二章-异常处理与程序调试(二)(1)

第十二章-异常处理与程序调试(二)(1)2007-05-07异常响应为开发者提供了一个按自己的需要进行异常处理的机制。try …except …end形成了一个异常响应保护块。与finally不同的是:正常情况下except 后面的语句并不被执行,而当异常发生时程序自动跳到except,进入异常响应处理模块。当异常被响应后异常类自动清除。下面的例子表示了文件打开、删除过程中发生异常时的处理情况: uses Dialogs;var...
第十二章-异常处理与程序调试(二)(2)

第十二章-异常处理与程序调试(二)(2)

第十二章-异常处理与程序调试(二)(2)2007-05-0712.3.3 响应一族异常 诸如 on ExceptionType do的异常响应语句不仅可响应本类异常,而且可以响应子类异常。对于象EIntError、EMathError等系统不会引发的异常,它们将只响应其子类异常。而对于象 on Exception do这样的语句将会对任何异常进行响应。下面一段代码对整数越界异常进行单独处理,而对其它整数异常进行统一处理: try{整数运算}excepto...
第十二章-异常处理与程序调试(二)(3)

第十二章-异常处理与程序调试(二)(3)

第十二章-异常处理与程序调试(二)(3)2007-05-0712.3.5.1 定义异常对象类 异常是对象,所以定义一类新的异常同定义一个新的对象类型并无太大区别。由于缺省异常处理只处理从Exception或Exception子类继承的对象,因而自定义异常类应该作为Exception或其它标准异常类的子类。这样,假如在一个模块中引发了一个新定义的异常,而这个模块并没有包含对应的异常响应,则缺省异常处理机制将响应该异常,显示一个包含异常类名称和错误信息的消息框...
第十二章-异常处理与程序调试(二)(4)

第十二章-异常处理与程序调试(二)(4)

第十二章-异常处理与程序调试(二)(4)2007-05-0712.3.6 利用异常响应编程 利用异常处理机制不仅能使程序更加健壮,而且也提供了一种使程序更加简捷、明了的途径。事实上,使用自定义异常类就是一种利用异常响应编程的方式。这里我们再讨论几个利用标准异常类编程的例子。比如为了防止零作除数,可以在进行除法运算前使用if…then…else语句。但如果有一系列这样的语句则繁琐程度是令人难以忍受的。这时候我们可能倾向于使用EDi...
第十二章-异常处理与程序调试(二)(5)

第十二章-异常处理与程序调试(二)(5)

第十二章-异常处理与程序调试(二)(5)2007-05-0712.4 程序调试简介 Delphi提供了一个功能强大的内置调试器(Integrated Debugger), 因而对程序的调试不用离开集成开发环境(IDE)就可以进行。程序错误基本可以分为两类,即运行时间错和逻辑错。所谓运行时间错是指程序能正常编译但在运行时出错。逻辑错是指程序设计和实现上的错误。程序语句是合法的,并顺利执行了,但执行结果却不是所希望的。对于这两类错误,调试器都可以帮助你快速定位...
第十二章-异常处理与程序调试(三)(1)

第十二章-异常处理与程序调试(三)(1)

第十二章-异常处理与程序调试(三)(1)2007-05-0712.4.3 断点的使用 12.4.3.1 设置断点 设置断点首先在Code Editor中选定你想设置断点的代码行,而后进行如下的任一种操作:● 单击选定代码行左边的空白● 按F5● 选择Code Editor加速菜单的Toggle BreakPoint项● 选择Run|Add Breadpoint打开断点编辑对话框(Edit BreakPoint Dialog Box),而后选择New去确认一...
第十二章-异常处理与程序调试(三)(2)

第十二章-异常处理与程序调试(三)(2)

第十二章-异常处理与程序调试(三)(2)2007-05-0712.4.4.1 监视表达式 监视列表窗口(Watch List Window)显示程序运行中当前监视表达式的值。选择View|Watches可以打开监视列表窗口。从Code Editor中添加一个监视表达式最方便的方法是:1.选中要监视的表达式;2.从Code Editor加速菜单中选择Add Watch把表达式添加到监视列表窗口。也可以利用下面的方法产生一个监视表达式:1.用下列方法之一打开监...
<< 71 72 73 74 75 76 77 78 79 80 >>