首页 Delphi数据库编程-第10章__ADO数据库编程

Delphi数据库编程-第10章__ADO数据库编程

举报
开通vip

Delphi数据库编程-第10章__ADO数据库编程null第10章 ADO数据库编程 第10章 ADO数据库编程 本章要点:        ADO的概念 ADO对象模型 Delphi 7支持ADO的方式 Delphi 7中ADO组件的属性、方法及其使用 10.1 ADO概述 10.1 ADO概述 10.1.1 ADO的概念 ADO(ActiveX Data Object)是Microsoft提供对各种数据库进行访问的高层接口,是DAO/RDO的后继产物,是Microsoft最新的数据访问组件(Microsoft数据访问组件简称MDAC)的...

Delphi数据库编程-第10章__ADO数据库编程
null第10章 ADO数据库编程 第10章 ADO数据库编程 本章要点:        ADO的概念 ADO对象模型 Delphi 7支持ADO的方式 Delphi 7中ADO组件的属性、 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 及其使用 10.1 ADO概述 10.1 ADO概述 10.1.1 ADO的概念 ADO(ActiveX Data Object)是Microsoft提供对各种数据库进行访问的高层接口,是DAO/RDO的后继产物,是Microsoft最新的数据访问组件(Microsoft数据访问组件简称MDAC)的一部分 。 ADO是基于OLE DB之上的面向对象的数据访问模型,OLE DB是Microsoft开发的一种高性能的、基于COM的数据访问技术,其作用是向应用程序提供一个统一的数据访问方法,而不需要考虑数据源的具体格式和存储方式。 10.1.2 ADO对象模型及其对象 10.1.2 ADO对象模型及其对象 null1. 基本对象 (1)Connection对象。 (2)RecordSet对象 (3)Command对象。 (4)Field对象。 (5)Property对象。 (6)Parameter对象 (7)Error对象。 2. 集合对象 (1)Errors集合对象。 (2)Parameters对象。 (3)Fields对象。 (4)Properties对象。 10.1.3 Delphi对ADO的支持方法 10.1.3 Delphi对ADO的支持方法 10.2 TADOConnection组件 10.2 TADOConnection组件 10.2.1 TADOConnection组件功能说明 TADOConnection组件用于建立与实际的物理数据库的连接,TADOCommand、TADODataSet、TADOTable、TADOQuery、TADOStoredPro等组件均可以通过它访问和操作数据库。 10.2.2 TADOConnection组件的常用属性 1. CommandCount属性 2. Commands属性 3. CommandTimeout属性 4. Connected属性 null 5. ConnectionObject属性 6. ConnectionString属性 7. ConnectionOption属性 8. ConnectionTimeout属性 9. CursorLocation属性 10. DataSetCount属性 11. DataSets属性 12. DefaultDatabase属性 13. Errors属性 14. InTransaction属性 15. KeepConnection属性 16. Provider属性 17. State属性 18. LoginPrompt属性 10.2.3 TADOConnection组件的常用方法 10.2.3 TADOConnection组件的常用方法 1. BeginTrans方法 其格式如下: function BeginTrans: Integer; 2. CommitTrans方法 格式如下: procedure CommitTrans; 3. RollbackTrans方法 使用格式如下: procedure RollbackTrans; null 4. Open方法 语法格式如下: procedure Open; overload; procedure Open(const UserID: WideString; const Password: WideString); overload; 5. Close方法 使用格式如下: procedure Close; 6. Execute方法 格式1:nullfunction Execute(const CommandText: WideString; const CommandType: TCommandType = cmdText; const ExecuteOptions: TExecuteOptions = []): _RecordSet; overload; 格式2: procedure Execute(const CommandText: WideString; const CommandType:CommandType; var RecordsAffected: Integer; ExecuteOptions: TExecuteOptions = [eoExecuteNoRecords]); overload; null 7. Cancel方法 语法格式如下: procedure Cancel; 8. GetProcedureName方法 语法格式如下: procedure GetProcedureNames(List: TStrings); 9. GetTableNames方法 语法格式如下: procedure GetTableNames(List: TStrings; SystemTables: Boolean = False); 10. GetFieldNames方法 语法格式如下: procedure GetFieldNames(const TableName: String; List: TStrings); 10.2.4 TADOConnection组件的常用事件 10.2.4 TADOConnection组件的常用事件 10.2.5 使用TADOConnection建立到数据库的连接 10.2.5 使用TADOConnection建立到数据库的连接 1. 通过DSN建立连接 2. 通过选择数据库建立到Access数据库的连接 【例10-1】 编写一个显示当前目录下“教学.MDB”的数据库中的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 名和字段名的程序。程序的设计界面如图10-14所示,程序的运行界面如图10-15所示。程序运行时把当前目录下的“教学.MDB”数据库中的表名显示在ListBox1列表框中,在ListBox1列表框中单击以选中一个表名时,该表所有的字段名将显示在ListBox2中。 null 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 :在窗体的OnCreate事件中首先使用ADOConnect1组件与当前目录下的“教学.MDB”建立连接,然后通过调用ADOConnection1的GetTableNames方法以获得“教学.MDB”数据库中的表名字符串列表并赋值给ListBox1的Items属性。在ListBox1中选中一个表时,将发生列表框的OnClick事件,在该事件中调用ADOConnection1组件的GetFieldNames方法并以选中的表名作为参数,得到选中表的字段名字符串列表并赋值给ListBox2的Items属性。 null10.3 TADOCommand组件 10.3 TADOCommand组件 10.3.1 TADOCommand组件功能说明 TADOConnection不但能够与数据库建立连接,还可以通过它的Execute方法执行SQL命令,但通常不用TADOConnection组件执行命令。在ADO中,TADOCommand组件是专门用来创建和执行命令的。 TADOCommand组件执行在CommandText属性中指定的命令,一个命令可能在一次执行过程中需要某些参数,如果命令包括有关参数,则必须在Parameters属性中指定。可通过调用TADOCommand对象的Execute方法执行命令。 10.3.2 TADOCommand组件的常用属性 10.3.2 TADOCommand组件的常用属性 1. CommandObject属性 2. CommandText属性 3. CommandTimeout属性 4. Connection属性 5. ConnectionString属性 6. CommandType属性 7. ParamCheck属性 8. Parameters属性 9. Prepared属性 10. Properties属性 11. State属性 10.3.3 TADOCommand组件的常用方法 10.3.3 TADOCommand组件的常用方法 1. Assign方法 语法格式如下: procedure Assign(Source: TPersistent); override; 2. Cancel方法 语法格式如下: procedure Cancel; 3. Execute方法 格式1: function Execute: _Recordset; overload; null 格式2: function Execute(const Parameters: OleVariant): _Recordset; overload; 格式3: function Execute(var RecordsAffected: Integer; const Parameters: OleVariant): _RecordSet; overload; 【例10-2】 利用TADOCommand组件实现如下操作:把当前目录下的“教学.MDB”数据库中的“教师表”中的“工资”字段值全部改为原来的1.1倍,从而实现加工资的功能。程序的设计界面如图10-16所示。程序执行时,单击【连接到数据库】按钮将建立起到“教学.MDB”数据库的连接,然后单击【增加工资】按钮,将把“教师表”中的“工资字段”值全部修改为原来的1.1倍,单击【退出】按钮将先关闭连接并关闭应用程序。 null 分析:建立连接采用与例10-1同样的方法。要使TADOCommand执行命令,可先通过设置它的Connection属性值来和一个TADOConnection组件对象联系在一起,然后设置它的CommandType属性为需要的命令类型,再设置它的CommandText属性为要执行的命令文本,最后调用TADOCommand对象的Execute方法执行CommandText中存放的命令。 10.4 TADODataSet组件 10.4 TADODataSet组件 10.4.1 TADODataSet组件功能说明 TADODataSet组件是最常用的ADO数据集组件,具有从一个或多个ADO数据表中找到结果数据集的功能。结果数据集可以是直接从数据表中读取的,也可以是通过SQL语句从一个或多个数据表得到的。另外TADODataSet组件还可以用来处理调用TADOCommand对象的Execute方法返回的结果 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 集。 10.4.2 TADODataSet组件的常用属性 10.4.2 TADODataSet组件的常用属性 1. RDSConnection属性 2. BlockReadSize属性 3. CacheSize属性 4. CanModify属性 5. CursorType属性 6. EnableBCD属性 7. Filter属性 8. Filtered属性 9. IndexDefs属性 10. IndexFieldCount属性 11. IndexFieldNames属性 12. IndexFields属性null13. IndexName属性 14. LockType属性 15. MarshalOptions属性 16. MasterFields属性 17. MaxRecords属性 18. RecNo属性 19. RecordCount属性 20. Recordset属性 21. RecordsetState属性 22. RecordSize属性 23. RecordStatus属性 24. Sort属性 25. StoreDefs属性 10.4.3 TADODataSet组件的常用方法 10.4.3 TADODataSet组件的常用方法 1. GetIndexNames方法 从表记录集中取得所用可用的索引名列表 2. BookmarkValid方法 该方法用来测试特定的 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 签是否合法,书签就是一个记录的标志 3.CancelBatch方法 使用该方法将取消批更新模式下对记录集的所有挂起的更新 4. CancelUpdates方法 使用该方法可取消挂起的缓存更新 null 5. DeleteRecords方法 删除记录集中的一个或多个记录 6. FilterOnBookmarks方法 该方法的作用是过滤记录到某个书签的位置 7. IsSequenced方法 该方法用来返回底层数据库是否将记录的个数作为记录的序号。 8. Locate方法 该方法用来根据一个或多个字段的值查找记录,并把查找到的记录设置为当前记录。 null 9. Lookup方法 该方法用来从数据集中查找记录,从查找到的记录中提取某些字段值 10.Next方法 该方法用来把记录指针移到下一条记录 11.Requery方法 该方法用来重新执行产生记录集的查询命令以便重新生成记录集 12.Seek方法 该方法用来根据索引查找记录 13. UpdateBatch方法 该方法用来把挂起的批更新写到物理数据库中 14.UpdateStatus方法 该方法用来返回当前记录的更新状态 10.4.4 TADODataSet组件的常用事件 10.4.4 TADODataSet组件的常用事件 null 【例10-3】 利用TADODataSet组件编写一个实现对教师表中的数据进行显示、修改和查询的程序。程序设计界面如图10-19所示,程序的运行界面如图10-20所示。程序运行时在网格组件中显示教师表的内容,当在网格组件中单击某条记录时,该记录的若干个字段值将会显示在编辑框中,如图10-20所示。当在编辑框中修改了当前记录的内容后,单击【更新】按钮,修改的结果将保存到数据表中。单击【根据姓名查找】按钮将弹出一个输入对话框,要求用户输入一个姓名,然后根据姓名查找记录。如果找到则给出“找到记录”的提示并把当前记录设为该记录,如果没有找到也给“没有找到”的提示信息,并把当前记录设置为查找前的记录。 null 分析:本例由于要显示数据库的内容,故应使用能够返回结果记录集的TADODataSet组件。可用一个TADOConnection组件与实际的物理数据库连接起来,用一个TADODataSet组件执行命令从TADOConnection组件连接的数据库中提取记录形成记录集,再用一个TDataSource组件作为TADODataSet组件与数据控制组件连接的桥梁,用一个TDBGrid组件来显示记录集的内容。当记录指针位置发生改变时,要把当前记录的内容显示在编辑框中,本例定义了一个名为DispValue的过程用来实现该功能。另外本例还编写了一个名为SetValue的过程,该过程的作用是利用编辑框中的值修改当前记录的内容。根据姓名查找记录的值,可使用TADODataSet组件的Locate方法。 null10.5 TADOTable组件 10.5 TADOTable组件 10.5.1 TADOTable组件功能说明 TADOTable组件用于通过一个单个的数据表来获取和操作数据集。TADOTable组件和TTable组件非常类似,许多属性、事件和方法也一样。如果不使用TADOConnection组件,TADOTable组件的ConnectionString属性就需要设定;如果使用TADOConnection组件,那么ConnectionString属性就不需要设定,直接设定其Connection属性使其指向TADOConnection组件即可。 10.5.2 TADOTable组件的常用属性 10.5.2 TADOTable组件的常用属性 1. MasterSource属性 2. ReadOnly属性 3. TableDirect属性 4. TableName属性 10.5.3 TADOTable组件的常用方法 语法格式如下: procedure GetIndexNames(List: TStrings); 10.6 TADOQuery组件 10.6 TADOQuery组件 10.6.1 TADOQuery组件功能说明 TADOQuery组件类似于Query组件,可以使用SQL语句在一个和多个数据表中选择字段,而且可以增加和删除数据。在使用该组件之前,必须要建立它到物理数据库之间的连接。如果不使用TADOConnection组件,TADOQuery组件的ConnectionString属性就需要设定;如果使用TADOConnection组件,那么ConnectionString属性就不需要设定,直接设定其Connection属性使其指向TADOConnection组件即可。 10.6.2 TADOQuery组件的常用属性 10.6.2 TADOQuery组件的常用属性 1. SQL属性 该属性用来指定利用TADOQuery组件来执行的SQL语句。 2. RowsAffected属性 该属性用来返回最近一次执行查询操作时影响到的记录数,即被操作的记录数。 10.6.3 TADOQuery组件的常用方法 TADOQuery组件的常用方法是Open和ExecSQL,这两个方法的作用与TTable组件的同名方法的作用一致。TADOQuery组件的使用方法与TQuery组件也基本一致。 10.7 TADOStoredPro组件 10.7 TADOStoredPro组件 TADOStoredProc组件通过ProcedureName属性指定存放在服务器上的一个存储过程,应用程序可以执行这个存储过程。如果TADOStoredProc组件是指向一个TADOConnection组件,为了与存储过程相联系,可以调用TADOConnection组件的GetProcedureNames方法,将数据库中的存储过程名返回,然后再将选中的存储过程名赋给ProcedureName属性。 10.8 ADO综合应用实例 10.8 ADO综合应用实例 【例10-4】 编写一个显示选中数据表中的数据或显示SELECT语句执行结果的应用程序,显示的数据来源于当前目录下的“教学.MDB”数据库。程序的设计界面如图10-21所示,程序的运行界面如图10-22所示。程序运行时将在ComboBox1组合框中显示“教学.MDB”中的所有表名,可以通过选择确定在DBGrid组件中显示的是某个表中的数据还是执行某条SELECT语句后的结果。如果用户选择【数据表中的数据】,则可以从ComboBox1组合框中选择一个表名,然后单击“执行命令”按钮,表中的数据将会显示在DBGrid1表格中。如果用户选择【Select语句执行结果】,则可以Memo1组件中输入一条合法的SELECT语句,然后单击【执行命令】按钮,SELECT语句执行的结果将会显示在DBGrid1表格中。 null 分析:执行SQL语句可使用TADOQuery组件。可先通过TADOConnection组件建立与当前目录下的“教学.MDB”数据库的连接,然后通过设置TADOQuery组件的Connection属性使它能够通过TADOConnection组件访问数据库。通过一个TDataSource组件把TADOQuery组件和TDBGrid组件联系起来,使命令执行的结果集能够显示在TDBGrid组件中。在“执行命令”按钮的单击事件中,首先根据用户的选择及选择的表名或输入的SELECT语句,设置TADOQuery组件SQL属性,然后调用TADOQuery组件的Open方法得到结果集并显示在TDBGrid组件中。 nullnullnull 【例10-5】 设计一个对“教学.MDB”中的“教师表”进行显示和修改的程序,要求能够对教师表中的数据进行立即更新和批量更新。程序的设计界面如图10-23所示,程序的运行界面如图10-24所示。程序运行时,若选中“立即更新”,在编辑框中修改当前记录的内容,然后单击【更新】按钮,可将修改结果存回到数据库中;若选中【批量更新】,在网格控件中可以修改多处内容,然后如果单击【提交】按钮,则所有的修改均存放到数据库中去,如果单击【撤消】按钮,则所有的【修改】将被撤销。 null 分析:本例涉及立即更新和批量更新两种操作。当使用立即更新时,只要声明当前记录的工作已经完成,系统将会将更改立刻传送到数据库。当使用批量更新时,系统只是收集对记录集的所有更改,直到声明该记录集的修改工作已经完成,更改后的数据才会全部提交给数据库。在提交给数据库之前,可以撤销刚刚对记录集所做的更改。 nullnull小结 小结 ADO是Micorsoft公司最新的基于OLE DB的数据访问模式,它几乎能够访问目前经常使用的所有格式的数据库。在Delphi 7中,通过ADO组件提供了对ADO的支持,ADO组件中的一部分可以看做对ADO对象模型中的某些对象的封装,然后以可视化的形式使用。ADO组件主要有TADOConnection,TADOCommand,TADODataSet,TADOTable,TADOQuery,TADOStoredProc,TRDSConnection等。TADOConnection组件的主要作用是与数据库建立连接,TADOCommand组件的主要作用是执行不返回结果记录集的SQL命令,TADODataSet组件的作用是形成一个记录集以便访问,TADOTable,TADOQuery和TADOSroredProc功能类似于TTable,TQuery和TStoredProc。本章详细介绍这些组件的属性、方法和事件,对每一种组件都通过实例详细讲解了使用方法。最后通过两个综合实例对本章的内容进行综合,目的是使读者能对使用ADO开发数据库应用程序的方法有一个全面的了解。
本文档为【Delphi数据库编程-第10章__ADO数据库编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_653180
暂无简介~
格式:ppt
大小:732KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2013-08-28
浏览量:23