《数据库应用程序》课件_第1页
《数据库应用程序》课件_第2页
《数据库应用程序》课件_第3页
《数据库应用程序》课件_第4页
《数据库应用程序》课件_第5页
已阅读5页,还剩191页未读 继续免费阅读

下载本文档

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

文档简介

数据库应用程序9.1Delphi的数据库访问机制9.2数据库程序向导9.3数据库资源管理器9.4常用的数据库控制组件9.5DatabaseDesktop的使用退出数据库应用程序9.1Delphi的数据库访问机制退出9.1Delphi的数据库访问机制 9.1.1数据库的基本概念 所谓数据库(database)是指一些表格(table)的集合,而表格是由一组相关联的记录(record)组成的。一个记录有许多的属性(attribute)组成,其中的一个属性可用来区分不同的记录,这个属性就是关键值(key)属性。9.1Delphi的数据库访问机制 9.1.1数据库的 在微机中,通常一个文件就是一个表格,如在xBASE中的一个表格就是一个.DBF文件。因此,在xBASE中,数据库是指一些小型的数据库系统,也就是一个文件即为一个数据库(表格)的系统;而在SQLServer数据库系统中是指一个数据库中可以包含许多表格及其它对象的系统,功能大于xBASE数据库系统,如图9-1所示。 在微机中,通常一个文件就是一个表格,如在xBASE中的《数据库应用程序》课件 9.1.2Borland数据库引擎(BDE) Borland数据库引擎(BDE)是32位的基于Windows的核心数据库引擎,是一个存取数据的中间层(middlewarelayer)。BDE对开发客户/服务器应用程序提供了丰富的支持。 9.1.2Borland数据库引擎(BDE) 1.BDE的体系结构 BDE数据库驱动程序体系结构包括许多共享的服务实用程序(数据库驱动程序和其它函数)。使用数据库驱动程序可一致地存取标准的数据源:Paradox、dBASE及文本数据库。也可将MicrosoftODBC驱动程序作为内置的ODBC插槽。Borland的SQLLinks产品提供对SQLServer广泛的存取,包括InterBase、Oracle及Sybase。因此,编程者可以直接、明了、共享地存取多个数据源。 2.面向对象 BDE在设计时是面向对象的,在运行时,应用程序可以建立各种BDE对象。这些运行时的对象可用来维护数据库实体:像数据表等。 1.BDE的体系结构 3.Delphi数据库结构 Delphi数据库控制组件包括两类: ·数据存取控制组件:负责连接数据库本身,不包含数据的显示与输入 ·数据显示控制组件:提供建立用户界面的基本组件,用于显示与输入数据 3.Delphi数据库结构 所有的数据控制组件都是通过存取数据的中间层BDE,对数据进行存取的。所有的Borland数据库产品,除ParadoxforDOS及dBASEforDOS外,都是以BDE为中间层的。这样可以保证共享数据库中的数据、方便数据的存取、允许对不同平台上的不同数据库进行操作、便于移植程序。 Borland数据库引擎中引入了“数据来源”(Datasource)的概念。其作用是在数据存取组件与数据显示组件之间的一个中介,从而可以在程序执行时将数据存取组件与数据显示组件独立分开操作、切换。如图9-2所示。 所有的数据控制组件都是通过存取数据的中间层BDE,对数《数据库应用程序》课件 在理解了BDE与数据来源的概念后,就可通过图9-3来理解Delphi的数据库结构。 在理解了BDE与数据来源的概念后,就可通过图9-3来《数据库应用程序》课件9.2数据库程序向导 最容易产生数据库程序的工具就是使用数据库窗体向导(DatabaseFormWizard)。数据库窗体向导可以建立两类的数据库程序: ·简单的数据库程序 ·主/明细数据库程序9.2数据库程序向导 最容易产生数据库程序的工具就是使 数据库窗体向导可以将窗体与Table及Query组件连接起来;编写Query组件的SQL语句;将交互的与非交互的组件添加到窗体上;定义Tab键顺序;将DataSource组件与交互组件及Table/Query组件连接起来。 启动数据库窗体向导使用Database|FormWizard命令。启动后的画面如图9-4所示。 数据库窗体向导可以将窗体与Table及Query组件连《数据库应用程序》课件 根据数据库程序向导,设定一些信息:建立简单的表格窗口还是两种以上的主/明细表格窗口;做数据输入的表格窗口还是查询的表格窗口;选择数据库及显示的数据库字段,最后数据库窗体向导就会自动生成数据库程序的窗体,并产生相应的应用程序。如图9-5所示。 根据数据库程序向导,设定一些信息:建立简单的表格窗口还《数据库应用程序》课件9.3数据库资源管理器 数据库资源管理器可以显示数据库、数据表及字段的层次图,以便浏览和修改数据对象的结构和内容。 启动数据库资源管理器,使用的命令为Database|Explorer,数据库资源管理器启动后的画面如图9-8所示。9.3数据库资源管理器 数据库资源管理器可以显示数据库《数据库应用程序》课件 数据库资源管理器的左边为一个对象浏览器,用来显示数据库或数据路径对象的层次图;右边用来显示左边中选定对象的相关内容,包括对象的定义、对象概要、数据等,还可以使用SQL语句进行查询。 将数据库资源管理器中的对象Table或Field拖动到集成开发环境的窗体中,就可自动创立相应窗体的对象。如将一数据表拖动到窗体时,可以生成已相关联好Table、DataSource、DBGrid等组件。 数据库资源管理器的左边为一个对象浏览器,用来显示数据库9.4常用的数据库控制组件 9.4.1Table组件 Table组件在BDE页标签上。 Table组件通过Borland数据库引擎(BDE)实现对数据库表格的存取。它是数据库引擎与DataSource组件的界面。

9.4常用的数据库控制组件 9.4.1Table组件 DatabaseName属性可以指定要存取的数据库;TableName属性指定要存取的数据表;设置ReadOnly属性为True,则只能查看数据表的内容;设置Exclusive属性为True,则以独占方式打开数据表;若要与索引文件一同使用数据表,使用IndexName属性;使用MasterFields和MasterSource属性建立对主数据表的连接。调用GotoCurrent方法将光标移动到与该数据表相同数据库中的另一数据表table中相同位置。

DatabaseName属性可以指定要存取的数据库;Ta 设置属性Active为True或调用Open方法,以浏览方式打开数据表;设置Active属性为False或调用Close方法可关闭数据表;调用First、Next、Prior、Last及MoveBy方法在数据表中移动;调用SetKey、FindKey、FindNearest、GotoKey和、GotoNearest方法进行数据库查找。 BOF及EOF属性,用来确定光标是否到达数据表开始及结束;调用Append、Insert、AppendRecord或InsertRecord方法可增加记录;调用Delete方法可删除当前的记录;调用Edit方法,允许应用程序修改数据表中的记录、Post将变化送到数据库中、Cancel则放弃修改。

设置属性Active为True或调用Open方法,以浏览 使用EditRangeStart、EditRangeEnd、SetRangeStart、SetRangeEnd、ApplyRange及SetRange方法可以限制返回到应用程序的记录范围,而调用CancelRange方法则取消这些限制。 1.Table组件的属性 ⑴Active属性 该属性为布尔型。设置为True,则以浏览方式打开数据库;设置为False,则关闭数据库。改变Active属性的值与调用Open或Close方法是等同的。 使用EditRangeStart、EditRangeEn ⑵AutoCalcFields属性 该属性为布尔型,它确定何时调用OnCalcFields事件来更新计算字段的值。若AutoCalcFields设置为True,则自动更新计算字段的值,默认为False。 ⑶CachedUpdates属性 该属性为布尔型,表示是否可更新缓存。若可更新缓存,则使用缓存替代写到数据集中。可以调用ApplyUpdates方法应用于所有更新。在更新缓存期间,设置CachedUpdates为False将放弃更新。 ⑵AutoCalcFields属性 ⑷DatabaseName属性 DatabaseName属性指定要存取的数据库。可指定: ·定义的BDE别名 ·桌面数据库文件的路径名 ·本地InterBase服务器数据库的路径及文件 ·由Database组件定义的应用程序特殊别名 在改变DatabaseName属性前,使用Close方法关闭数据集。 ⑷DatabaseName属性 ⑸Exclusive属性 该属性为布尔型(对Paradox或dBASE数据库有效),设置为True时,可以防止其它用户存取该数据表(独占方式使用)。若在你打开数据表时,其他的用户正在存取该数据表,则意外处理程序将等待这些用户释放要打开的数据表。若应用程序中没有提供意外处理程序时,则终止应用程序的运行。 在改变Exclusive属性前,设置Active属性为False,以防止出现意外。 不要在对象编辑器中设置Active和Exclusive属性为True。 ⑸Exclusive属性 ⑹Filter属性 该属性为字符串型,可用来指定要在数据集中查看的记录。筛选与查询(queries)是类似的,但功能低于后者。改变Filtered属性可以开关Filter属性。 筛选字符串的语法与SQL语句中WHERE子句的语法是非常类似的。 ⑺Filtered属性 该属性为布尔型,用来关闭由Filter属性和OnFilterRecord事件提供的筛选。若设置为True,则符合筛选条件的记录出现;若设置为False,则数据集中的所有记录是可见的(除去以独占方式使用的记录)。 ⑹Filter属性 ⑻FilterOptions属性 FilterOptions可用来更好地调整由Filter属性提供的筛选,如是否区分大小写等。 ⑼IndexFieldNames属性 该属性为字符串型,用于SQL服务器中指定该组件的索引列。索引列之间用“;”分开,若列名太多或名字太长(超过255个字符的限制),可使用列号代替列名。 注意:IndexFieldNames属性与IndexName属性是互斥的,设置一个将清除另一个。 ⑻FilterOptions属性 ⑽IndexFiles属性 IndexFiles属性为包含dBASE数据表索引的文件名。使用TStrings的Add、Insert、Delete,和Clear方法可以添加、插入、删除及清除索引文件名。在索引打开时,更新可维护索引。设置IndexName属性可以激活一个索引。调用Delete或Clear方法删除索引文件名时,该组件将关闭这些索引文件,并不再保持更新。 ⑾IndexName属性 该属性为字符串型,用来对该组件指定辅助索引。若没有给IndexName属性赋值,则使用数据表的主索引。 对dBASE数据库,索引必须在数据表的主索引文件中。主索引文件是由TableName属性确定的,其后缀为.MDX。 ⑽IndexFiles属性 ⑿MasterFields属性 该属性为字符串型,用来指定由MasterSource属性确定的主数据表与明细数据表连接的字段。该属性中可包含一个或多个两个要连接的数据表字段名,字段名之间用字段号分开。每次主数据表中的当前记录发生变化,这些字段中的值相对于明细数据表中用于显示的记录就被选定。在设计时,使用字段连接设计器来设置该属性。 ⒀MasterSource属性 当将明细数据表与主数据表连接时,使用该属性指定DataSource(该组件将从主数据表获取数据的数据源)。 ⑿MasterFields属性 ⒁ReadOnly属性 该属性为布尔型,用于防止用户修改数据表中的数据。 注意:在修改ReadOnly属性前,设置Active属性为False。 ⒂SessionName属性 该属性为字符串型,用来唯一地识别该数据集要使用的会话组件。支持的SessionName必须与一些建立的Session组件的SessionName或空的字符串(默认的会话)相匹配。在需要时,数据集打开会话,自动获得所有设置会话的属性。 ⒁ReadOnly属性 ⒃

TableName属性 TableName属性为该组件连接的数据库表的名称。 注意:要改变该属性必须关闭该组件。 ⒄

TableType属性 TableType属性指定数据库表的类型。对SQL表不适用。 若TableType属性设置为Default,则文件名的后缀确定数据表的类型:.DB或没有后缀:Paradox数据表.DBF:dBASE数据表.TXT:ASCII数据表

⒃TableName属性 若TableType的值不是Default,则数据表总是具有该属性指定的类型,与文件的后缀无关: ttASCII:文本文件 ttDBase:dBASE数据表 ttFoxPro:FoxPro数据表 ttParadox:Paradox数据表 若TableType的值不是Default,则数据表总是 ⒅UpdateMode属性 UpdateMode属性确定在SQL数据库更新记录时,Delphi如何查找记录。该属性对于多用户环境是相当重要的(可避免冲突)。 当用户要更新时,Delphi使用记录中的原始值去查找数据库中的记录。UpdateMode属性指定Delphi用于查找记录的字段。在SQL术语中,UpdateMode属性指定哪一字段包含在UPDATE语句的WHERE子句中。若Delphi不能找到指定字段中的原始值(若其它用户做了修改),则不做更新,产生意外处理。 ⒅UpdateMode属性 2.Table组件的事件 Table组件有关数据表操作的事件有:AfterCancel、AfterPost、BeforeOpen、AfterClose、BeforeCancel、BeforePost、AfterDelete、BeforeClose、OnCalcFields、AfterEdit、BeforeDelete、OnNewRecord、AfterInsert、BeforeEdit、AfterOpen、BeforeInsert等。 2.Table组件的事件 9.4.2Database组件 Database组件在BDE页标签上。 Database组件对数据库的存取是不需要的,但它提供对客户/服务器应用程序是重要的附加控制因素。当应用程序登录到一个远程服务器上的数据库时,可用该组件来建立程序和数据库的永久连接。 DatabaseName是数据集组件连接的数据库名。换句话来说,这是由该组件定义的本地别名,并显示在数据集组件中的DatabaseName下拉列表中。

9.4.2Database组件 AliasName是用BDE配置程序定义的BDE别名。它是数据库组件获取默认参数设置的地方。若设置DriverName属性,则清除该属性。Params属性中包含有别名的连接参数。 DriverName为BDE驱动程序的名字,如STANDARD(用于dBASE及Paradox)、ORACLE、SYBASE、INFORMIX或INTERBASE。若设置AliasName属性(指定驱动程序的类型),则清除该属性。 AliasName是用BDE配置程序定义的BDE别名。它 DataSets属性是引用该组件中激活数据集的数组;DatasetCount属性指定激活数据集的数量。 设置Connected属性打开或关闭数据库;设置KeepConnection为True可以避免在每次打开数据库时登录到服务器上;设置LoginPrompt为True,当登录到数据库服务器上时,总是提示用户名和口令。 Database组件可以控制服务器的事务,调用StartTransaction方法开始事务、RollBack放弃事务、或Commit立即修改;TransIsolation属性指定服务器上请求事务的隔离级。 DataSets属性是引用该组件中激活数据集的数组;D 1.Database组件的属性 ⑴AliasName属性 AliasName属性为在BDE配置程序中定义的BDE别名。是Database组件获取默认参数设置的地方。当设置DriverName属性时,就清除该属性。 ⑵Connected属性 该属性为布尔型,它表示该组件是否建立与数据库的连接。当应用程序打开数据库中的数据表时(若必要时,登录到服务器上),Connected将设置为True;当关闭数据表时(除非KeepConnection为True),该属性设置为False。将Connected设置为True,可在不打开数据表的情况下建立数据库的连接;设置为False将关闭连接。 1.Database组件的属性 ⑶DatabaseName属性 设置DatabaseName属性可以定义应用程序指定的别名,数据库组件可引用这一别名来替换BDE别名、路径、或数据名。换句话说,这里定义的别名将显示在Table、Query及StoredProc组件的数据库名的下拉列表中。 若要设置Connected为True的数据库组件的DatabaseName属性,则出现意外。 ⑶DatabaseName属性 ⑷DriverName属性 DriverName属性为BDE驱动程序的名字,如STANDARD(用于dBASE及Paradox)、ORACLE、SYBASE、NFORMIX或INTERBASE。若设置AliasName属性(指定驱动程序的类型),则清除该属性的值。相反,设置该属性也将清除AliasName属性。 若要设置Connected为True的数据库组件的DriverName属性,则出现意外。 ⑷DriverName属性 ⑸KeepConnection属性 该属性为布尔型,它指定即使没有打开的数据表时,应用程序是否保持对数据库服务器的连接。若应用程序需要在单个的数据库中打开及关闭数个数据,设置KeepConnection属性的值为True将是必要的。这时,即使没有任何打开的数据表,应用将保持与数据库的连接。若KeepConnection为False,则数据库每次必须重复地登录到服务器上。 ⑸KeepConnection属性 ⑹LoginPrompt属性 该属性为布尔型,用于处理SQL数据库的安全问题。 若为True(默认值),当应用程序要建立数据库连接时,则打开标准的Delphi登录对话框。若要连接服务器上的数据库,必须输入适当的用户名及口令。 若为False,则应用程序将在数据库组件的Params属性中查找登录参数。这些参数为USERNAME及PASSWORD参数,例如:USERNAME=LXPZQHPASSWORD=detailkey 一般不这样使用这种方法,因为它妨碍服务器的安全性。 ⑹LoginPrompt属性 ⑺Params属性 Params属性存放在SQL服务器上打开数据库需要的参数。默认时,这些参数在BDE配置程序中指定。在数据库参数编辑器中可以定制应用程序指定别名的这些参数。 对数据库桌面,Params属性只指定数据库的路径。对服务器数据库,Params将指定各种参数,包括服务器名、数据库名、用户名及口令等。 ⑺Params属性 ⑻

SessionName属性 该属性为字符串型,用来唯一地识别要数据库使用的会话组件。提供的SessionName属性必须与一些自己建立的Session组件的SessionName属性相匹配或为空的字符串(默认的会话)。当需要时,数据库组件可自动地打开会话,自动地获取所有的会话属性设置。 2.Database组件的事件 Database组件主要是OnLogin,用来设置登录参数。 ⑻SessionName属性 9.4.3DBEdit组件 DBEdit组件在数据控制页标签上。 DBEdit组件为具有所有普通编辑框(Edit)能力的数据控件编辑框。 与普通编辑框不同,可以使用数据库编辑框输入数据到字段中或显示数据集中的数据字段。通过指定数据源DataSource属性,连接数据编辑框与数据集。使用DataField属性确定要存取的字段。 9.4.3DBEdit组件 通过检查Modified属性的值,应用程序可以检查显示的文本是否修改过。要限制用户输入到编辑框中的字符数,使用MaxLength属性。 设置ReadOnly属性为True,可以防止用户修改字段的内容。 使用AutoSelect属性可以使当激活该组件时,自动选定编辑框中的文本。在运行时,可以调用SelectAll方法选定编辑框中的所有文本。使用SelText属性可以找出在编辑框中用户选定或替代的文本。调用ClearSelection方法可清除选定的文本。使用SelStart及SelLength属性可以只选定文本的部分或找出选定的文本部分。 通过检查Modified属性的值,应用程序可以检查显示 调用CutToClipboard、CopyToClipboard及 PasteFromClipboard方法可以复制、剪切及粘贴编辑框中的文本。 应用程序可以使用编辑框显示指定的字符,而不是输入的字符。这在输入口令时是很有用的。指定显示的字符使用PasswordChar属性。 若要编辑框根据字形的大小自动调整大小,使用AutoSize属性。 若应用程序不需要DBEdit数据控件的能力,使用Edit组件以节省系统资源。 调用CutToClipboard、CopyToClip 1.DBEdit组件的属性 ⑴DataField属性 该属性为字符串型,用来识别数据控件显示数据的字段。数据集中的字段在指定的数据源组件中(DataSource)。 若数据库编辑框(DBEdit)的DataField值为整型的或浮点的,则只有有效的字符可以输入。 ⑵DataSource属性 DataSource属性确定该组件获取显示数据的位置。 1.DBEdit组件的属性 2.DBEdit组件的事件 DBEdit组件的事件有OnChange、OnEndDrag、OnKeyUp、OnClick、OnEnter、OnMouseDown、OnDblClick、OnExit、OnMouseMove、OnDragDrop、OnKeyDown、OnMouseUp、OnDragOver、OnKeyPress、OnStartDrag等。 2.DBEdit组件的事件9.5DatabaseDesktop的使用 DatabaseDesktop是Delphi所提供的数据库管理工具。使用它可以建立数据表格,查询、输入、修改、删除数据表格中的数据。DatabaseDesktop可以使用各种不同类型的数据库。9.5DatabaseDesktop的使用 Data 9.5.1DatabaseDesktop窗口 1.DatabaseDesktop的启动 启动DatabaseDesktop可使用下列方法之一: ⑴使用开始按钮 在Windows95/98/2000/NT中使用开始|程序|BorlandDelphi6|DatabaseDesktop来启动DatabaseDesktop。 DatabaseDesktop启动后的窗口如图9-9所示。 9.5.1DatabaseDesktop窗口《数据库应用程序》课件 ⑵使用Delphi中的菜单命令 在Delphi中选择Tools|DatabaseDesktop命令启动DatabaseDesktop。 DatabaseDesktop启动后的窗口如图9-9所示。 在DatabaseDesktop中可以对数据库进行各种形式的操作。这些操作一般都可用于应用程序当中,只是方法和过程不同而已。在本节中介绍一些一般的数据操作。 ⑵使用Delphi中的菜单命令 2.路径设定 路径设定包括用于工作组的公共路径和用于个人的工作路径。 ⑴公共路径设定 在DatabaseDesktop中选择File|WorkingDirectory命令,弹出的对话框如图9-10所示。 2.路径设定《数据库应用程序》课件 在该对话框中的WorkingDirectory(工作目录)文本框中输入或使用Browse(浏览)按钮选择工作目录。 使用浏览按钮弹出的对话框如图9-11所示。 在该对话框中的WorkingDirectory(工作《数据库应用程序》课件 ⑵个人工作路径设定 在DatabaseDesktop中选择File|PrivateDirectory命令,弹出的对话框如图9-12所示。 ⑵个人工作路径设定《数据库应用程序》课件 在该对话框中的PrivateDirectory(个人工作目录)文本框中输入或使用Browse(浏览)按钮选择工作目录。 使用浏览按钮弹出的对话框如图9-11所示。 在该对话框中的PrivateDirectory(个人 3.DatabaseDesktop窗口说明 DatabaseDesktop窗口中包含有五个菜单项,他们分别为: ⑴File菜单 File菜单完成三种类型的文件(QBE文件、SQL文件和数据表文件)的管理及工作目录的设定。 ⑵Edit菜单 Edit菜单完成编辑处理、环境设定等工作。 3.DatabaseDesktop窗口说明 ⑶Tools菜单 Tools菜单完成别名、数据表、密码的管理工作。

⑷Windows菜单 Windows菜单完成窗口的管理工作。 ⑸Help菜单 Help菜单完成帮助工作。 在新建或打开了数据表后,系统自动增加三个菜单:View、Table和Record。 ⑹View菜单 View菜单用来浏览数据表 ⑶Tools菜单 ⑺Table菜单 Table菜单用来对数据表格进行处理,如修改结构、建立索引等。 ⑻Record菜单 Record菜单只有当数据输入窗口出现时才会出现,用来对记录进行操作,如增加记录、修改记录、移动记录指针等。 ⑺Table菜单 9.5.2建立数据表 1.建立数据表的一般过程 Delphi具有完整的数据库支持功能,它可以直接或通过ODBC操作dBASE、FoxBASE、PARADOX、ACCESS、FoxPro等本地数据库,也可通过SQLLinks或ODBC支持ORACLE、Informix、Sybase、SQLServer、DB2等远程数据库。建立数据表,采用下面的操作过程: 第1步:选择File|New|Table菜单命令,这时弹出的对话框如图9-13所示。 9.5.2建立数据表《数据库应用程序》课件 第2步:在建立表格对话框中选择建立表格的类型。 默认的表格类型为Paradox7。可根据需要进行选择。 第3步:建立表格内容。 该步骤的操作与所选择的表格类型有关,参考后面的详细说明。 第4步:选择另存为按钮,弹出如图9-14所示的保存表对话框。 第2步:在建立表格对话框中选择建立表格的类型。《数据库应用程序》课件 2.Delphi支持的数据库类型及数据类型 Delphi支持的数据库类型很多,不同类型的数据库其数据类型也是不同的。 ⑴PARADOX7 在PARADOX7中允许的数据类型有:Alpha Number $(Money) ShortInteger LongInteger#(DCD) Date Time @(TimeStamp) MemoFormatedMemo Graphic OLE Logic +(AutoIncrement)Binary Bytes 2.Delphi支持的数据库类型及数据类型 ⑵PARADOX5.0forWindows 在PARADOX5.0forWindows中允许的数据类型与PARADOX7相同。 ⑶PARADOX4 在PARADOX4中允许的数据类型有:Alpha Number $(Money) ShortInteger Date MemoFormatedMemo Graphic OLE Binary ⑷PARADOX3.5 在PARADOX3.5中允许的数据类型有:AlphaNumber$(Money)ShortIntegerDate ⑵PARADOX5.0forWindows ⑸VisualdBASE 在VisualdBASE中允许的数据类型有:CharacterFloatNumberDateLogical MemoOLEBinary ⑹dBASEforWindows 在dBASEforWindows中允许的数据类型与VisualdBASE相同。 ⑺dBASEⅣ 在dBASEⅣ中允许的数据类型有:CharacterFloatNumberDateLogicalMemo ⑸VisualdBASE ⑻dBASEⅢ+ 在dBASEⅢ+中允许的数据类型有:CharacterNumberDateLogicalMemo ⑼INTRBASE 在INTRBASE中允许的数据类型有:Short LongFloat Double Char VarChar DateBlob ArrayTextBlob ⑻dBASEⅢ+ ⑽通过ODBC联结的数据库所允许的数据类型有:VarChar Char Decimal Numberic SmallIntInteger Real Float Double LongVarCharBit TinyIntBigInt VarBinary LongVarBianaryDate Time TimeStamp Money 3.建立dBASE表 在建立表的一般过程中,选择建立dBASEⅢ+类型的数据库后,就会弹出如图9-15所示的对话框。 ⑽通过ODBC联结的数据库所允许的数据类型有:《数据库应用程序》课件 在该对话框的左边是数据库字段的输入区,包括字段名(FileName)、数据类型(Type)、长度(Size)和小数点后的位数(Decimal),输入的方法与dBASE基本相同。当在数据类型字段上按空格键就会出现选择数据类型的菜单,如图9-16所示。 在建立数据表对话框的右边是表的属性区,包括Index和TabelLanguage,分别用来设定数据库的索引和数据库所支持的语言字符集。 在该对话框的左边是数据库字段的输入区,包括字段名(Fi《数据库应用程序》课件 ⑴建立索引 建立数据库的索引使用下面的操作过程: 第1步:在建立数据表对话框右边的Tableproperties列表框中选择Indexes选项。 第2步:选择建立数据表对话框右边的Define按钮,这时弹出定义索引对话框,如图9-17所示。 ⑴建立索引《数据库应用程序》课件 第3步:选择建立索引的字段。 在定义索引对话框左边的字段列表框中,可用于建立索引的字段正常显示,不能用于建立索引的字段是灰色的。 在字段列表框中选择一个字段,该字段名会出现在IndexedFiled文本框中。 第4步:选择确定按钮。这时出现如图9-18所示的对话框,要求输入索引文件名。 第3步:选择建立索引的字段。《数据库应用程序》课件 若要建立复合索引的话,单击索引对话框的ExpressionIndex按钮,在弹出的文本框中输入复合索引表达式,然后在SubSetCondition(Filter)Expression中添上索引条件即可。在保存复合索引文件时,可以定义索引的标识名。 ⑵设定数据库语言字符集 在定义索引对话框的TableProperties列表框中选择TableLanguage,然后选择Modify按钮,会弹出如图9-19所示的对话框,从中可以选择所需要的语言驱动程序类型。 若要建立复合索引的话,单击索引对话框的Expressi《数据库应用程序》课件 在Delphi中支持Windows所支持的大部分语言。 4.建立PARADOX表 PARADOX表的建立方法与dBASE表的建立过程基本上是类似的。 建立PARADOX表的对话框如图9-20所示。 在Delphi中支持Windows所支持的大部分语言。《数据库应用程序》课件 5.建立INTRBASE表 INTRBASE表的建立方法与dBASE表的建立过程基本上是类似的。 建立INTRBASE表的对话框如图9-21所示。 5.建立INTRBASE表《数据库应用程序》课件 9.5.3查看数据表 在DatabaseDesktop中提供了3种数据查询方式:DatabaseDesktop数据浏览、SQL指令和QBE方式。 查看数据表之前,要打开数据表,打开数据表的操作过程为: 第1步:选择File|Open|Table菜单命令。这时弹出打开数据表对话框如图9-22所示。 9.5.3查看数据表《数据库应用程序》课件 第2步:在打开数据表对话框中选择要打开的数据表。 数据表打开后显示在数据表窗口中,如图9-23所示。这时的工具栏如图9-23所示。 第2步:在打开数据表对话框中选择要打开的数据表。《数据库应用程序》课件 1.DatabaseDesktop浏览方式 数据表刚打开时,是以查看模式(ViewMode)显示在数据表窗口中。查看窗口在DatabaseDesktop窗口中,一次最多可打开24个数据表。 ⑴数据防滚动锁(ScrollLock) 在数据表窗口中,若要将数据表的字段在光标水平方向移动时锁住一个或多个字段,使用防滚动锁。这时防滚动锁左边的字段,在滚动时保持不动。 在数据表窗口的左下角有一个三角形,用鼠标将这个三角形拖动到要锁定字段的右侧即可,这时变为两个相对的三角形。 1.DatabaseDesktop浏览方式 ⑵移动字段的位置 将鼠标移动到字段的标题上,当鼠标指针变为?时,将其拖动到需要的位置即可。 ⑶改变字段的显示长度 将鼠标移动到字段的右边界上,当鼠标指针改变形状时,将其拖动到需要的位置即可(左右拖动)。 ⑷改变字段的显示高度 将鼠标移动到字段的下边界上,当鼠标指针改变形状时,将其拖动到需要的位置即可(上下拖动)。 ⑵移动字段的位置 ⑸改变字段的标题显示高度 将鼠标移动到标题的下边界上,当鼠标指针改变形状时,将其拖动到需要的位置即可(上下拖动)。 2.SQL指令方式 使用SQL(StructureedQueryLanguage)也可查看数据。对于熟悉SQL语句的用户可以在SQL编辑窗口来输入、执行或保存SQL语句到一个文件中,并在以后装入、修改或执行。 在DatabaseDesktop中选择File|New|SQL命令后弹出的SQL编辑器对话框如图9-24所示。 ⑸改变字段的标题显示高度《数据库应用程序》课件 在SQL编辑器中可以输入合法的SQL语句,输入完成后选择SQL|RunSQL或直接按F8键就可以执行所输入的SQL语句,查看到的数据显示在数据窗口中。 3.QBE方式 在DatabaseDesktop中还可以使用范例查询(QueryByExample,QBE)来查看数据。使用QBE,可以代替需要写很长SQL语句才能完成的工作。 选择File|New|QBE菜单命令,弹出的查询窗口如图9-25所示。 在SQL编辑器中可以输入合法的SQL语句,输入完成后选《数据库应用程序》课件 在这个窗口理可以选择要显示的字段。选择完成后,选择Query|RunQuery菜单命令执行这个查询,就可以得到需要的结果。 9.5.4编辑数据表 要改变数据表中的数据,使用下面的操作过程: 第1步:使用下列方法之一,进入到编辑模式(EditMode):·选择View|EditData菜单命令·按F9键·单击工具栏中的编辑数据图标第2步:对数据表中的数据进行编辑。 在这个窗口理可以选择要显示的字段。选择完成后,选择Qu 9.5.5修改数据表结构 DatabaseDesktop可以重建(Restructure)dBASE和PARADOX数据表结构,这些重建包括增加、删除、更改字段,改变字段的类型或大小,修改索引或数据表的语言驱动程序。 重建数据表结构和第一次生成数据表过程类似。但重建的数据表要求独占,另外不能使用Databasedesktop修改服务器上的数据表。 9.5.5修改数据表结构数据库应用程序9.1Delphi的数据库访问机制9.2数据库程序向导9.3数据库资源管理器9.4常用的数据库控制组件9.5DatabaseDesktop的使用退出数据库应用程序9.1Delphi的数据库访问机制退出9.1Delphi的数据库访问机制 9.1.1数据库的基本概念 所谓数据库(database)是指一些表格(table)的集合,而表格是由一组相关联的记录(record)组成的。一个记录有许多的属性(attribute)组成,其中的一个属性可用来区分不同的记录,这个属性就是关键值(key)属性。9.1Delphi的数据库访问机制 9.1.1数据库的 在微机中,通常一个文件就是一个表格,如在xBASE中的一个表格就是一个.DBF文件。因此,在xBASE中,数据库是指一些小型的数据库系统,也就是一个文件即为一个数据库(表格)的系统;而在SQLServer数据库系统中是指一个数据库中可以包含许多表格及其它对象的系统,功能大于xBASE数据库系统,如图9-1所示。 在微机中,通常一个文件就是一个表格,如在xBASE中的《数据库应用程序》课件 9.1.2Borland数据库引擎(BDE) Borland数据库引擎(BDE)是32位的基于Windows的核心数据库引擎,是一个存取数据的中间层(middlewarelayer)。BDE对开发客户/服务器应用程序提供了丰富的支持。 9.1.2Borland数据库引擎(BDE) 1.BDE的体系结构 BDE数据库驱动程序体系结构包括许多共享的服务实用程序(数据库驱动程序和其它函数)。使用数据库驱动程序可一致地存取标准的数据源:Paradox、dBASE及文本数据库。也可将MicrosoftODBC驱动程序作为内置的ODBC插槽。Borland的SQLLinks产品提供对SQLServer广泛的存取,包括InterBase、Oracle及Sybase。因此,编程者可以直接、明了、共享地存取多个数据源。 2.面向对象 BDE在设计时是面向对象的,在运行时,应用程序可以建立各种BDE对象。这些运行时的对象可用来维护数据库实体:像数据表等。 1.BDE的体系结构 3.Delphi数据库结构 Delphi数据库控制组件包括两类: ·数据存取控制组件:负责连接数据库本身,不包含数据的显示与输入 ·数据显示控制组件:提供建立用户界面的基本组件,用于显示与输入数据 3.Delphi数据库结构 所有的数据控制组件都是通过存取数据的中间层BDE,对数据进行存取的。所有的Borland数据库产品,除ParadoxforDOS及dBASEforDOS外,都是以BDE为中间层的。这样可以保证共享数据库中的数据、方便数据的存取、允许对不同平台上的不同数据库进行操作、便于移植程序。 Borland数据库引擎中引入了“数据来源”(Datasource)的概念。其作用是在数据存取组件与数据显示组件之间的一个中介,从而可以在程序执行时将数据存取组件与数据显示组件独立分开操作、切换。如图9-2所示。 所有的数据控制组件都是通过存取数据的中间层BDE,对数《数据库应用程序》课件 在理解了BDE与数据来源的概念后,就可通过图9-3来理解Delphi的数据库结构。 在理解了BDE与数据来源的概念后,就可通过图9-3来《数据库应用程序》课件9.2数据库程序向导 最容易产生数据库程序的工具就是使用数据库窗体向导(DatabaseFormWizard)。数据库窗体向导可以建立两类的数据库程序: ·简单的数据库程序 ·主/明细数据库程序9.2数据库程序向导 最容易产生数据库程序的工具就是使 数据库窗体向导可以将窗体与Table及Query组件连接起来;编写Query组件的SQL语句;将交互的与非交互的组件添加到窗体上;定义Tab键顺序;将DataSource组件与交互组件及Table/Query组件连接起来。 启动数据库窗体向导使用Database|FormWizard命令。启动后的画面如图9-4所示。 数据库窗体向导可以将窗体与Table及Query组件连《数据库应用程序》课件 根据数据库程序向导,设定一些信息:建立简单的表格窗口还是两种以上的主/明细表格窗口;做数据输入的表格窗口还是查询的表格窗口;选择数据库及显示的数据库字段,最后数据库窗体向导就会自动生成数据库程序的窗体,并产生相应的应用程序。如图9-5所示。 根据数据库程序向导,设定一些信息:建立简单的表格窗口还《数据库应用程序》课件9.3数据库资源管理器 数据库资源管理器可以显示数据库、数据表及字段的层次图,以便浏览和修改数据对象的结构和内容。 启动数据库资源管理器,使用的命令为Database|Explorer,数据库资源管理器启动后的画面如图9-8所示。9.3数据库资源管理器 数据库资源管理器可以显示数据库《数据库应用程序》课件 数据库资源管理器的左边为一个对象浏览器,用来显示数据库或数据路径对象的层次图;右边用来显示左边中选定对象的相关内容,包括对象的定义、对象概要、数据等,还可以使用SQL语句进行查询。 将数据库资源管理器中的对象Table或Field拖动到集成开发环境的窗体中,就可自动创立相应窗体的对象。如将一数据表拖动到窗体时,可以生成已相关联好Table、DataSource、DBGrid等组件。 数据库资源管理器的左边为一个对象浏览器,用来显示数据库9.4常用的数据库控制组件 9.4.1Table组件 Table组件在BDE页标签上。 Table组件通过Borland数据库引擎(BDE)实现对数据库表格的存取。它是数据库引擎与DataSource组件的界面。

9.4常用的数据库控制组件 9.4.1Table组件 DatabaseName属性可以指定要存取的数据库;TableName属性指定要存取的数据表;设置ReadOnly属性为True,则只能查看数据表的内容;设置Exclusive属性为True,则以独占方式打开数据表;若要与索引文件一同使用数据表,使用IndexName属性;使用MasterFields和MasterSource属性建立对主数据表的连接。调用GotoCurrent方法将光标移动到与该数据表相同数据库中的另一数据表table中相同位置。

DatabaseName属性可以指定要存取的数据库;Ta 设置属性Active为True或调用Open方法,以浏览方式打开数据表;设置Active属性为False或调用Close方法可关闭数据表;调用First、Next、Prior、Last及MoveBy方法在数据表中移动;调用SetKey、FindKey、FindNearest、GotoKey和、GotoNearest方法进行数据库查找。 BOF及EOF属性,用来确定光标是否到达数据表开始及结束;调用Append、Insert、AppendRecord或InsertRecord方法可增加记录;调用Delete方法可删除当前的记录;调用Edit方法,允许应用程序修改数据表中的记录、Post将变化送到数据库中、Cancel则放弃修改。

设置属性Active为True或调用Open方法,以浏览 使用EditRangeStart、EditRangeEnd、SetRangeStart、SetRangeEnd、ApplyRange及SetRange方法可以限制返回到应用程序的记录范围,而调用CancelRange方法则取消这些限制。 1.Table组件的属性 ⑴Active属性 该属性为布尔型。设置为True,则以浏览方式打开数据库;设置为False,则关闭数据库。改变Active属性的值与调用Open或Close方法是等同的。 使用EditRangeStart、EditRangeEn ⑵AutoCalcFields属性 该属性为布尔型,它确定何时调用OnCalcFields事件来更新计算字段的值。若AutoCalcFields设置为True,则自动更新计算字段的值,默认为False。 ⑶CachedUpdates属性 该属性为布尔型,表示是否可更新缓存。若可更新缓存,则使用缓存替代写到数据集中。可以调用ApplyUpdates方法应用于所有更新。在更新缓存期间,设置CachedUpdates为False将放弃更新。 ⑵AutoCalcFields属性 ⑷DatabaseName属性 DatabaseName属性指定要存取的数据库。可指定: ·定义的BDE别名 ·桌面数据库文件的路径名 ·本地InterBase服务器数据库的路径及文件 ·由Database组件定义的应用程序特殊别名 在改变DatabaseName属性前,使用Close方法关闭数据集。 ⑷DatabaseName属性 ⑸Exclusive属性 该属性为布尔型(对Paradox或dBASE数据库有效),设置为True时,可以防止其它用户存取该数据表(独占方式使用)。若在你打开数据表时,其他的用户正在存取该数据表,则意外处理程序将等待这些用户释放要打开的数据表。若应用程序中没有提供意外处理程序时,则终止应用程序的运行。 在改变Exclusive属性前,设置Active属性为False,以防止出现意外。 不要在对象编辑器中设置Active和Exclusive属性为True。 ⑸Exclusive属性 ⑹Filter属性 该属性为字符串型,可用来指定要在数据集中查看的记录。筛选与查询(queries)是类似的,但功能低于后者。改变Filtered属性可以开关Filter属性。 筛选字符串的语法与SQL语句中WHERE子句的语法是非常类似的。 ⑺Filtered属性 该属性为布尔型,用来关闭由Filter属性和OnFilterRecord事件提供的筛选。若设置为True,则符合筛选条件的记录出现;若设置为False,则数据集中的所有记录是可见的(除去以独占方式使用的记录)。 ⑹Filter属性 ⑻FilterOptions属性 FilterOptions可用来更好地调整由Filter属性提供的筛选,如是否区分大小写等。 ⑼IndexFieldNames属性 该属性为字符串型,用于SQL服务器中指定该组件的索引列。索引列之间用“;”分开,若列名太多或名字太长(超过255个字符的限制),可使用列号代替列名。 注意:IndexFieldNames属性与IndexName属性是互斥的,设置一个将清除另一个。 ⑻FilterOptions属性 ⑽IndexFiles属性 IndexFiles属性为包含dBASE数据表索引的文件名。使用TStrings的Add、Insert、Delete,和Clear方法可以添加、插入、删除及清除索引文件名。在索引打开时,更新可维护索引。设置IndexName属性可以激活一个索引。调用Delete或Clear方法删除索引文件名时,该组件将关闭这些索引文件,并不再保持更新。 ⑾IndexName属性 该属性为字符串型,用来对该组件指定辅助索引。若没有给IndexName属性赋值,则使用数据表的主索引。 对dBASE数据库,索引必须在数据表的主索引文件中。主索引文件是由TableName属性确定的,其后缀为.MDX。 ⑽IndexFiles属性 ⑿MasterFields属性 该属性为字符串型,用来指定由MasterSource属性确定的主数据表与明细数据表连接的字段。该属性中可包含一个或多个两个要连接的数据表字段名,字段名之间用字段号分开。每次主数据表中的当前记录发生变化,这些字段中的值相对于明细数据表中用于显示的记录就被选定。在设计时,使用字段连接设计器来设置该属性。 ⒀MasterSource属性 当将明细数据表与主数据表连接时,使用该属性指定DataSource(该组件将从主数据表获取数据的数据源)。 ⑿MasterFields属性 ⒁ReadOnly属性 该属性为布尔型,用于防止用户修改数据表中的数据。 注意:在修改ReadOnly属性前,设置Active属性为False。 ⒂SessionName属性 该属性为字符串型,用来唯一地识别该数据集要使用的会话组件。支持的SessionName必须与一些建立的Session组件的SessionName或空的字符串(默认的会话)相匹配。在需要时,数据集打开会话,自动获得所有设置会话的属性。 ⒁ReadOnly属性 ⒃

TableName属性 TableName属性为该组件连接的数据库表的名称。 注意:要改变该属性必须关闭该组件。 ⒄

TableType属性 TableType属性指定数据库表的类型。对SQL表不适用。 若TableType属性设置为Default,则文件名的后缀确定数据表的类型:.DB或没有后缀:Paradox数据表.DBF:dBASE数据表.TXT:ASCII数据表

⒃TableName属性 若TableType的值不是Default,则数据表总是具有该属性指定的类型,与文件的后缀无关: ttASCII:文本文件 ttDBase:dBASE数据表 ttFoxPro:FoxPro数据表 ttParadox:Paradox数据表 若TableType的值不是Default,则数据表总是 ⒅UpdateMode属性 UpdateMode属性确定在SQL数据库更新记录时,Delphi如何查找记录。该属性对于多用户环境是相当重要的(可避免冲突)。 当用户要更新时,Delphi使用记录中的原始值去查找数据库中的记录。UpdateMode属性指定Delphi用于查找记录的字段。在SQL术语中,UpdateMode属性指定哪一字段包含在UPDATE语句的WHERE子句中。若Delphi不能找到指定字段中的原始值(若其它用户做了修改),则不做更新,产生意外处理。 ⒅UpdateMode属性 2.Table组件的事件 Table组件有关数据表操作的事件有:AfterCancel、AfterPost、BeforeOpen、AfterClose、BeforeCancel、BeforePost、AfterDelete、BeforeClose、OnCalcFields、AfterEdit、BeforeDelete、OnNewRecord、AfterInsert、BeforeEdit、AfterOpen、BeforeInsert等。 2.Table组件的事件 9.4.2Database组件 Database组件在BDE页标签上。 Database组件对数据库的存取是不需要的,但它提供对客户/服务器应用程序是重要的附加控制因素。当应用程序登录到一个远程服务器上的数据库时,可用该组件来建立程序和数据库的永久连接。 DatabaseName是数据集组件连接的数据库名。换句话来说,这是由该组件定义的本地别名,并显示在数据集组件中的DatabaseName下拉列表中。

9.4.2Database组件 AliasName是用BDE配置程序定义的BDE别名。它是数据库组件获取默认参数设置的地方。若设置DriverName属性,则清除该属性。Params属性中包含有别名的连接参数。 DriverName为BDE驱动程序的名字,如STANDARD(用于dBASE及Paradox)、ORACLE、SYBASE、INFORMIX或INTERBASE。若设置AliasName属性(指定驱动程序的类型),则清除该属性。 AliasName是用BDE配置程序定义的BDE别名。它 DataSets属性是引用该组件中激活数据集的数组;DatasetCount属性指定激活数据集的数量。 设置Connected属性打开或关闭数据库;设置KeepConnection为True可以避免在每次打开数据库时登录到服务器上;设置LoginPrompt为True,当登录到数据库服务器上时,总是提示用户名和口令。 Database组件可以控制服务器的事务,调用StartTransaction方法开始事务、RollBack放弃事务、或Commit立即修改;TransIsolation属性指定服务器上请求事务的隔离级。 DataSets属性是引用该组件中激活数据集的数组;D 1.Database组件的属性 ⑴AliasName属性 AliasName属性为在BDE配置程序中定义的BDE别名。是Database组件获取默认参数设置的地方。当设置DriverName属性时,就清除该属性。 ⑵Connected属性 该属性为布尔型,它表示该组件是否建立与数据库的连接。当应用程序打开数据库中的数据表时(若必要时,登录到服务器上),Connected将设置为True;当关闭数据表时(除非KeepConnection为True),该属性设置为False。将Connected设置为True,可在不打开数据表的情况下建立数据库的连接;设置为False将关闭连接。 1.Database组件的属性 ⑶DatabaseName属性 设置DatabaseName属性可以定义应用程序指定的别名,数据库组件可引用这一别名来替换BDE别名、路径、或数据名。换句话说,这里定义的别名将显示在Table、Query及StoredProc组件的数据库名的下拉列表中。 若要设置Connected为True的数据库组件的DatabaseName属性,则出现意外。 ⑶DatabaseName属性 ⑷DriverName属性 DriverName属性为BDE驱动程序的名字,如STANDARD(用于dBASE及Paradox)、ORACLE、SYBASE、NFORMIX或INTERBASE。若设置AliasName属性(指定驱动程序的类型),则清除该属性的值。相反,设置该属性也将清除AliasName属性。 若要设置Connected为True的数据库组件的DriverName属性,则出现意外。 ⑷DriverName属性 ⑸KeepConnection属性 该属性为布尔型,它指定即使没有打开的数据表时,应用程序是否保持对数据库服务器的连接。若应用程序需要在单个的数据库中打开及关闭数个数据,设置KeepConnection属性的值为True将是必要的。这时,即使没有任何打开的数据表,应用将保持与数据库的连接。若KeepConnection为False,则数据库每次必须重复地登录到服务器上。 ⑸KeepConnection属性 ⑹LoginPrompt属性 该属性为布尔型,用于处理SQL数据库的安全问题。 若为True(默认值),当应用程序要建立数据库连接时,则打开标准的Delphi登录对话框。若要连接服务器上的数据库,必须输入适当的用户名及口令。 若为False,则应用程序将在数据库组件的Params属性中查找登录参数。这些参数为USERNAME及PASSWORD参数,例如:USERNAME=LXPZQHPASSWORD=detailkey 一般不这样使用这种方法,因为它妨碍服务器的安全性。 ⑹LoginPrompt属性 ⑺Params属性 Params属性存放在SQL服务器上打开数据库需要的参数。默认时,这些参数在BDE配置程序中指定。在数据库参数编辑器中可以定制应用程序指定别名的这些参数。 对数据库桌面,Params属性只指定数据库的路径。对服务器数据库,Params将指定各种参数,包括服务器名、数据库名、用户名及口令等。 ⑺Params属性 ⑻

SessionName属性 该属性为字符串型,用来唯一地识别要数据库使用的会话组件。提供的SessionName属性必须与一些自己建立的Session组件的SessionName属性相匹配或为空的字符串(默认的会话)。当需要时,数据库组件可自动地打开会话,自动地获取所有的会话属性设置。 2.Database组件的事件 Database组件主要是OnLogin,用来设置登录参数。 ⑻SessionName属性 9.4.3DBEdit组件 DBEdit组件在数据控制页标签上。 DBEdit组件为具有所有普通编辑框(Edit)能力的数据控件编辑框。 与普通编辑框不同,可以使用数据库编辑框输入数据到字段中或显示数据集中的数据字段。通过指定数据源DataSource属性,连接数据编辑框与数据集。使用DataField属性确定要存取的字段。 9.4.3DBEdit组件 通过检查Modified属性的值,应用程序可以检查显示的文本是否修改过。要限制用户输入到编辑框中的字符数,使用MaxLength属性。 设置ReadOnly属性为True,可以防止用户修改字段的内容。 使用AutoSelect属性可以使当激活该组件时,自动选定编辑框中的文本。在运行时,可以调用SelectAll方法选定编辑框中的所有文本。使用SelText属性可以找出在编辑框中用户选定或替代的文本。调用ClearSelection方法可清除选定的文本。使用SelStart及SelLength属性可以只选定文本的部分或找出选定的文本部分。 通过检查Modified属性的值,应用程序可以检查显示 调用CutToClipboard、CopyToClipboard及 PasteFromClipboard方法可以复制、剪切及粘贴编辑框中的文本。 应用程序可以使用编辑框显示指定的字符,而不是输入的字符。这在输入口令时是很有用的。指定显示的字符使用PasswordChar属性。 若要编辑框根据字形的大小自动调整大小,使用AutoSize属性。 若应用程序不需要DBEdit数据控件的能力,使用Edit组件以节省系统资源。 调用CutToClipboard、CopyToClip 1.DBEdit组件的属性 ⑴DataField属性 该属性为字符串型,用来识别数据控件显示数据的字段。数据集中的字段在指定的数据源组件中(DataSource)。 若数据库编辑框(DBEdit)的DataField值为整型的或浮点的,则只有有效的字符可以输入。 ⑵DataSource属性 DataSource属性确定该组件获取显示数据的位置。 1.DBEdit组件的属性 2.DBEdit组件的事件 DBEdit组件的事件有OnChange、OnEndDrag、OnKeyUp、OnClick、OnEnter、OnMouseDown、OnDblClick、O

温馨提示

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

评论

0/150

提交评论