【教学课件】第15章ADO与数据绑定控件.ppt
《【教学课件】第15章ADO与数据绑定控件.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第15章ADO与数据绑定控件.ppt(88页珍藏版)》请在三一办公上搜索。
1、数据库原理与应用教程,国家“十一五”规划教材,第15章 ADO与数据绑定控件,15.1 ADO数据控件 15.2 数据绑定控件15.3 ADO对象,15.1 ADO数据控件,ADO数据控件是目前流行的数据访问控件,它支持OLE DB数据访问模型。使用ADO数据访问控件,除了可以访问大型关系型数据库管理系统和小型个人数据库管理系统。ADO数据控件是ActiveX控件,需要手工将其添加到工具箱中。选择“工程”菜单下的“部件”。,Adodc控件在窗体上的形式,ADO数据控件的主要属性,ConnectionString属性 用于建立与数据源的连接 CommandType属性 指明命令的类型,共有四种
2、RecordSource属性 用于设置ADO结果集的内容 MaxRecords属性 决定结果集中的记录的最大数目 Recordset属性 用于存放从数据提供者那里获得的查询结果,ConnectionString属性,单击ADO数据控件属性页中的“ConnectionString”属性,然后单击 按钮,CommandType属性,adCmdUnknown:默认值。表示RecordSource中的命令类型未知。adCmdTable:RecordSource属性的内容是一个表名。adCmdText:RecordSource属性的内容是一个查询语句文本串。adCmdStoredProc:RecordS
3、ource属性的内容是一个存储过程名。,RecordSource属性,用于设置ADO结果集的内容.这个内容可以来自于一张表,也可以来自一个查询语句,也可以来自一个存储过程的执行结果。RecordSource属性的值与CommandType属性的值有关,两者协同使用。,设置RecordSource属性,在已经设置好ConnectionString属性的ADO数据控件上右击鼠标,在弹出的菜单中选择“ADODC属性”命令,在弹出此对话框上选择“记录源”标签页。,MaxRecords属性,决定了结果集中的记录的最大数目。这个属性取值大小取决于所检索的记录的大小以及计算机的可用资源(内存)的多少。,Re
4、cordset属性,是ADO数据控件中实现数据记录操作的最重要的属性,而且这个属性本身又是一个对象,也有自己的属性和方法,它直接指向ADO对象模型中的Recordset对象。Recordset属性也称为记录集或结果集,用于存放从数据提供者那里获得的查询结果,这个结果一般存放在客户端内存中。,ADO数据控件的主要方法,Refresh用于更新ADO数据控件属性,使修改后的ADO数据控件属性生效。当修改了ADO数据控件的ConnectionString属性的值时,使用Refresh方法会重新连接一次数据库;当修改了ADO数据控件的RecordSource属性的值时,使用Refresh方法会重新执行R
5、ecordSource属性的内容,重新产生结果集。使用Refresh方法的格式为:ADO数据控件名.Refresh,ADO数据控件的主要事件,EndOfRecordset事件 当在结果集中移动记录指针时,当记录指针超出了结果集的最后一条记录时,触发此事件。Error事件 只有在没有执行任何VB代码而发生了一个数据访问错误时,才会触发此事件。WillChangeField和FieldChangeComplete事件 当对结果集中的一个或多个字段值进行修改前,触发WillChangeField事件;当对结果集中的一个或多个字段值修改之后,触发FieldChangeComplete事件。,ADO数据
6、控件的主要事件(续),WillChangeRecord和RecordChangeComplete事件 当对结果集中的一个或多个记录进行修改前,触发WillChangeRecord事件;当对结果集中的一个或多个记录修改之后,触发RecordChangeComplete事件。WillMove事件和MoveComplete事件 在结果集的当前行记录指针移动之前,触发WillMove事件;在结果集的当前行记录指针移动完成后,触发MoveComplete事件。,RecordSet对象的主要属性,BOF:布尔值,如果结果集中记录的当前行指针移到了第一条记录的前边,则此值为真,否则为假。EOF:布尔值,如果
7、结果集中记录的当前行指针移到了最后一条记录的后边,则此值为真,否则为假。RecordCount:存放结果集中的记录个数。Sort:将结果集中的记录按某个字段排序。,RecordSet对象的主要属性(续),AbsolutePosition:记录当前行记录在结果集中的顺序号,结果集记录序号从1开始。ActiveCommand:结果集中创建的命令。ActiveConnection:结果集中创建的连接。Bookmark:结果集中当前行记录的标识号。Fields:结果集中的字段集合。,Fields对象的主要属性,Fields.Name:字段名称。Fields.Value:字段的值。Fields.Ordi
8、nalPosition:字段在Fields集合中的顺序。Fields.Type:字段的数据类型。Fields.Size:字段的最大字节数。Fields.SourceTable:字段来自的表Fields.SourceField:字段来自的表中的列,示例,例:利用Fields对象,得到当前行记录的某字段的值,用法如下:Fields(“字段名”).Value或:Fields(数字).Value,RecordSet对象的主要方法,1.Move方法组 MoveFirst方法:将当前行记录指针移到结果集中的第一行。MovePrevious方法:将当前行记录指针向前移动一行。MoveNext方法:将当前行记
9、录指针向后移动一行。MoveLast方法:将当前行记录指针移到结果集中的最后一行。,RecordSet对象的主要方法(续),2AddNew方法用于在结果集中添加一个新记录。3Update方法将新记录缓冲区中的记录或者对当前记录的修改真正写到数据库中。4Delete方法删除结果集中当前行记录指针所指的记录,并且这个删除是直接对数据库数据操作的,删除后的数据不可恢复。,RecordSet对象的主要方法(续),5CancelUpdate方法用于取消新添加的记录或对当前记录所做的修改。6.Find方法用于在当前结果集中查找满足条件的记录。Find方法的格式为:ADO数据控件名.Recordset.Fi
10、nd(“查找条件表达式”)例:查找年龄在20到25之间的学生:Find(“Sage=20 AND Sage=25”),15.2 数据绑定控件,数据绑定实际上就是将结果集中的数据同应用程序界面上的控件联系起来,通过这些界面上的控件将结果集中的数据显示给用户。能够实现将结果集中的数据显示出来的功能的控件就称为数据绑定控件。标准绑定控件:TextBox、CheckBox、ListBox、ComboBox等 外部绑定控件:DataCombo、DataList、DataGrid、MSHFGrid、Microsoft Chart等,DataGrid控件,正式名称是:Microsoft DataGrid C
11、ontrol 6(OLE DB),以表格的形式显示结果集中的全部数据,并允许用户在此控件中浏览、添加、删除和修改记录。需手工添加到工具箱中。,DataGrid控件的特殊属性,1“通用”选项卡允许添加(AllowAddNew属性):允许添加新记录。允许删除(AllowDelete属性):允许删除记录。允许更新(AllowUpdate属性):允许更改记录。列标头(ColumnHeaders属性):决定是否显示字段名。有效(Enabled属性):决定运行时能够对DataGrid控件进行操作,如移动数据区滚动条等。,DataGrid控件的特殊属性(续),2.“键盘”选项卡 用于控制控件的浏览属性。“允
12、许箭头”(AllowArrow属性,默认)使光标可以在列和行间移动。如果选择了“自动换行单元指针”(WrapCellPointer属性)复选框,则可以用光标控制键或Tab键来移动光标,从当前记录的最后一列移到下个记录的第一列。如果设置了“Tab动作键”(TabAction属性)为“2-dbgGridNavigation”,则可以使用Tab键浏览记录。,DataGrid控件的特殊属性(续),3“列”选项卡提供了在设计模式下对DataGrid控件中列集合的控制,通过此页可以为每个列集合对象设置标题和DataGrid的属性值。通常的做法是通过改变“标题”(Caption属性)使列的标题可读性更好。,
13、DataGrid控件的特殊属性(续),4.“布局”选项卡用于设置附加的列属性,其最重要的特征是可以设置列的对齐方式和宽度。“锁定”(Locked)复选框用于防止值被修改;不选中“允许调整大小”(AllowSizing)复选框可以防止改变列的宽度;不选中“可见”(Visible)复选框可以隐藏列;选中“自动换行”(WrapText)复选框可以写多行文本;选中“按钮”(Button)复选框可加入一个下拉式的按钮列表。,DataGrid控件的特殊属性(续),5.“颜色”选项卡用于设置列标题以及控件的其他部分的前景色和背景色,是从Visual Basic 6属性窗口中的前景色和背景色条目复制过来的。6
14、“字体”选项卡可以有选择的设置列标题以及DataGrid控件体的字体、大小及属性。,DataGrid控件的特殊属性(续),7“拆分”选项卡用于把DataGrid中的一列分割成多列,以方便对列中的数据进行滚动查看。8“格式”选项卡可以指定每个独立列的数据类型,如把记录价格的列指定为“货币”类型,对文本列采用默认的“通用”类型,对数字列指定为“数字”类型,并指明相应的小数位数,等等。,DataGrid控件的特殊属性、方法和事件,使用HeadClick事件对列进行排序 例:对单击的列进行降序排序。Private Sub DtgStudent_HeadClick(ByVal ColIndex As I
15、nteger)With Adodc1.Recordset.Sort=.Fields(ColIndex).Name&DESC End With DtgStudent.RefreshEnd Sub,DataGrid控件的特殊属性、方法和事件(续),在运行模式下改变显示的列通过操作DataGrid控件的列集合,可以在运行模式下隐藏部分列。隐藏列的最简单的方法是设置列的Visible属性为False。,隐藏列示例,Private Sub CmdSomeColumns_Click()隐藏Ssex和Sage列 With DtgStudent.Columns(2).Visible=False Ssex列.C
16、olumns(3).Visible=False Sage列 End With CmdSomeColumns.Enabled=False 显示部分列按钮 CmdAllColumns.Enabled=True 显示全部列按钮 End Sub,用DataGrid事件确认更新,DataList和DataCombo控件,功能与ListBox与ComboBox类似。需要手工添加到VB工具箱中。DataList控件主要属性,应用示例,运行结果,15.3 ADO对象,由一组相互独立的对象组成,对象模型中的每个对象都具有各自的属性、方法和事件,通过设置和使用这些对象的属性、方法和事件可以实现对数据库的全部操作。
17、,ADO对象模型,15.3.1 Connection对象,表示一个OLE DB数据源的开放式连接。是ADO对象模型的基础。在使用ADO对象模型编程之前,必须先引用ADO对象模型。方法为:在VB的“工程”菜单下选择“引用”命令,然后在打开的窗口中选择“Microsoft ActiveX Data Objects 2.Library”选项(其中“”代表机器上所安装的版本号)。,Connection对象的主要属性,ConnectionString 用于指定连接到的数据源名称,使用方法及含义同ADO数据控件。Provider 连接中使用的OLE DB提供者。ConnectionTimeout 执行Op
18、en方法之后等待建立连接的秒数,默认为15秒。0表示无限期等待。State 表示Connection对象是打开还是关闭的常量。,Connection对象的主要方法,Open:打开带有数据源的连接,即真正的建立起到数据源的物理连接。Close:关闭一个打开的与数据源的连接,即终止与数据源的连接。Execute:在没有创建Command对象的情况下执行连接中的一个命令。BeginTrans:开始一个事务。CommitTrans:提交一个事务。RollbackTrans:回滚一个事务。,Connection对象的主要事件,ExecuteComplete:连接中的命令被执行后发生的动作。BeginTr
19、ansComplete:在BeginTrans方法完成后发生的动作。RollbackTransComplete:当RollbackTrans操作完成时发生的动作。WillConnect:在试图连接到数据源之前发生的动作。WillExecute:试图在连接中执行一条命令前发生的动作。,Connection对象的主要集合,Errors Error对象的集合。Properties 描述连接的Property对象集合。,使用Connection对象,(1)设置ConnectionString连接属性Dim adoCn As ADODB.ConnectionSet adoCn=New ADODB.Con
20、nection使用ODBC数据源连接数据库adoCn.ConnectionString=DNS=ODBC_DSN;UID=LoginID;PWD=password使用OLE DB提供者连接数据库adoCn.ConnectionString=Provider=SQLOLEDB.1;User ID=LoginID;Initial Catalog=Pubs;Data Source=DB_Server_Name,使用Connection对象(续),(2)使用Open方法建立连接Open方法用于打开连接:adoCn.Open(3)使用Close方法断开连接 用于关闭一个打开的Connection对象,即
21、断开与数据源的连接。adoCn.Close,15.3.2 Command对象,Command对象代表对数据源执行的命令。使用Command命令可以查询数据,并将查询结果返回给RecordSet对象。,Command对象的主要属性,ActiveConnection:指定当前使用的连接。CommandText:命令的文本表达(SQL语句、存储过程名和表名)。CommandType:指定要执行的命令的类型,与CommandText属性的内容对应。取值如下:CmdText:指定CommandText的内容是一个SQL语句。adCmdTable:指定CommandText的内容是一个表名。adCmdSt
22、oredProc:指定CommandText的内容是一个存储过程名。adCmdUnknown:默认值,表示命令类型未知。,Command对象的主要属性(续),CommandTimeout数据源作出响应的最长等待秒数。Name表示Command对象的字符串。State表示对象是打开、关闭、正在执行某一命令和获取记录时的状态常量,其取值同Connection对象的State属性。,Command对象的主要方法,Excute执行CommandText属性中指定的命令并返回由此生成的记录集。CreateParameter 创建一个与命令相关的新的参数对象。,Command对象的主要集合,Paramet
23、ers与Command对象相关的Parameter对象的集合。Properties描述Command对象相关的Property对象的集合。,使用Command对象,声明对象Dim adoCn As ADODB.ConnectionDim adoCm As ADODB.Command建立连接Set adoCn=New ADODB.ConnectionadoCn.ConnectionString=Provider=SQLOLEDB.1;User ID=LoginID;_ Data Source=DB_Server_NameadoCn.Open,使用Command对象(续),执行命令Set adoC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 15 ADO 数据 绑定 控件
链接地址:https://www.31ppt.com/p-5657919.html