您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第15章 ADO与数据绑定控件
第15章ADO与数据绑定控件•15.1ADO数据控件•15.2数据绑定控件•15.3ADO对象15.1ADO数据控件•使用ADO数据访问控件,可以访问大型关系型数据库管理系统和小型个人数据库管理系统。•ADO数据控件是ActiveX控件,需要手工将其添加到工具箱中。•选择“工程”菜单下的“部件”。Adodc控件在窗体上的形式ADO数据控件的主要属性•ConnectionString属性•用于建立与数据源的连接•CommandType属性•指明命令的类型,共有四种•RecordSource属性•用于设置ADO结果集的内容•RecordSet属性•保存记录集,本身又是一个对象ConnectionString属性•单击ADO数据控件属性页中的“ConnectionString”属性,然后单击按钮CommandType属性•adCmdUnknown:默认值。表示RecordSource中的命令类型未知。•adCmdTable:RecordSource属性的内容是一个表名。•adCmdText:RecordSource属性的内容是一个查询语句文本串。•adCmdStoredProc:RecordSource属性的内容是一个存储过程名。RecordSource属性•用于设置ADO结果集的内容.•这个内容可以来自于一张表,也可以来自一个查询语句,也可以来自一个存储过程的执行结果。•RecordSource属性的值与CommandType属性的值有关,两者协同使用。设置RecordSource属性•在已经设置好ConnectionString属性的ADO数据控件上右击鼠标,在弹出的菜单中选择“ADODC属性”命令,在弹出此对话框上选择“记录源”标签页。Recordset属性•是ADO数据控件中实现数据记录操作的最重要的属性,而且这个属性本身又是一个对象,也有自己的属性和方法,它直接指向ADO对象模型中的Recordset对象。•Recordset属性也称为记录集或结果集,用于存放从数据提供者那里获得的查询结果,这个结果一般存放在客户端内存中。ADO数据控件的主要方法•Refresh•用于更新ADO数据控件属性,使修改后的ADO数据控件属性生效。•当修改了ADO数据控件的ConnectionString属性的值时,使用Refresh方法会重新连接一次数据库;•当修改了ADO数据控件的RecordSource属性的值时,使用Refresh方法会重新执行RecordSource属性的内容,重新产生结果集。•使用Refresh方法的格式为:ADO数据控件名.RefreshRecordSet对象的主要属性•BOF:布尔值,如果结果集中记录的当前行指针移到了第一条记录的前边,则此值为真,否则为假。•EOF:布尔值,如果结果集中记录的当前行指针移到了最后一条记录的后边,则此值为真,否则为假。•RecordCount:存放结果集中的记录个数。•Sort:将结果集中的记录按某个字段排序。RecordSet对象的主要属性(续)•AbsolutePosition:记录当前行记录在结果集中的顺序号,结果集记录序号从1开始。•ActiveCommand:结果集中创建的命令。•ActiveConnection:结果集中创建的连接。•Fields:结果集中的字段集合,本身也是对象。Fields对象的主要属性•Fields.Name:字段名称。•Fields.Value:字段的值。•Fields.OrdinalPosition:字段在Fields集合中的顺序。•Fields.Type:字段的数据类型。•Fields.Size:字段的最大字节数。•Fields.SourceTable:字段来自的表•Fields.SourceField:字段来自的表中的列示例•例:利用Fields对象,得到当前行记录的某字段的值,用法如下:•Fields(“字段名”).Value或:•Fields(数字).ValueRecordSet对象的主要方法•1.Move方法组•MoveFirst方法:将当前行记录指针移到结果集中的第一行。•MovePrevious方法:将当前行记录指针向前移动一行。•MoveNext方法:将当前行记录指针向后移动一行。•MoveLast方法:将当前行记录指针移到结果集中的最后一行。RecordSet对象的主要方法(续)•2.AddNew方法•用于在结果集中添加一个新记录。•3.Update方法•将新记录缓冲区中的记录或者对当前记录的修改真正写到数据库中。•4.Delete方法•删除结果集中当前行记录指针所指的记录,并且这个删除是直接对数据库数据操作的,删除后的数据不可恢复。RecordSet对象的主要方法(续)•5.CancelUpdate方法•用于取消新添加的记录或对当前记录所做的修改。•6.Find方法•用于在当前结果集中查找满足条件的记录。•Find方法的格式为:ADO数据控件名.Recordset.Find(“查找条件表达式”)•例:查找年龄在20到25之间的学生:Find(“Sage=20ANDSage=25”)15.2数据绑定控件•数据绑定实际上就是将结果集中的数据同应用程序界面上的控件联系起来,通过这些界面上的控件将结果集中的数据显示给用户。•能够实现将结果集中的数据显示出来的功能的控件就称为数据绑定控件。•标准绑定控件:TextBox、CheckBox、ListBox、ComboBox等•外部绑定控件:DataCombo、DataList、DataGrid、MSHFGrid、MicrosoftChart等DataGrid控件•正式名称是:MicrosoftDataGridControl6(OLEDB),•以表格的形式显示结果集中的全部数据,•并允许用户在此控件中浏览、添加、删除和修改记录。•需手工添加到工具箱中。DataGrid控件的特殊属性用DataGrid事件确认更新事件触发时刻BeforeColEdit移入新单元后,但在单元中敲入第一个字符之前ColEdit在单元中敲入第一字符后AfterColEdit紧随AfterColUpdate事件之后BeforeColUpdate改变单元值或移入一个新单元之后,但在DataGrid缓冲区内容改变之前AfterColUpdate在为更新的列修改缓冲区之后(同AfterColEdit)BeforeDelete在选中一行并按Delete键之后,但在列从Recordset中删除之前AfterDelete从Recordset删除一行之后BeforeInsert在临时加入的记录组成的列中敲入至少一个字符之后,但在行被加入到Recordset之前AfterInsert在行加入到Recordset之后BeforeUpdate在修改任何列的值或移动一个新记录之后,但在Recordset更新之前AfterUpdate在更新Recordset的行之后PrivateSubDtgStudent_HeadClick(ByValColIndexAsInteger)WithAdodc1.Recordset.Sort=.Fields(ColIndex).Name&DESCEndWithDtgStudent.RefreshEndSubDataGrid排序示例DataGrid隐藏列示例PrivateSubCmdSomeColumns_Click()'隐藏Ssex和Sage列WithDtgStudent.Columns(2).Visible=False‘Ssex列.Columns(3).Visible=False‘Sage列EndWithCmdSomeColumns.Enabled=False‘显示部分列按钮CmdAllColumns.Enabled=True‘显示全部列按钮EndSub15.3ADO对象•由一组相互独立的对象组成,对象模型中的每个对象都具有各自的属性、方法和事件,•通过设置和使用这些对象的属性、方法和事件可以实现对数据库的全部操作。ADO对象模型ConnectionErrorCommandRecordsetErrorsParameterParametersFieldFields15.3.1Connection对象•表示一个OLEDB数据源的开放式连接。•是ADO对象模型的基础。•在使用ADO对象模型编程之前,必须先引用ADO对象模型。方法为:在VB的“工程”菜单下选择“引用”命令,然后在打开的窗口中选择“MicrosoftActiveXDataObjects2.×Library”选项(其中“×”代表机器上所安装的版本号)。Connection对象的主要属性•ConnectionString用于指定连接到的数据源名称,使用方法及含义同ADO数据控件。•ConnectionTimeout执行Open方法之后等待建立连接的秒数,默认为15秒。0表示无限期等待。•State表示Connection对象是打开还是关闭的常量。Connection对象的主要方法•Open:打开带有数据源的连接,即真正的建立起到数据源的物理连接。•Close:关闭一个打开的与数据源的连接,即终止与数据源的连接。•Execute:在没有创建Command对象的情况下执行连接中的一个命令。使用Connection对象•(1)设置ConnectionString连接属性DimadoCnAsNewADODB.ConnectionadoCn.ConnectionString=Provider=SQLOLEDB.1;UserID=LoginID;InitialCatalog=Pubs;DataSource=DB_Server_Name使用Connection对象(续)•(2)使用Open方法建立连接•Open方法用于打开连接:adoCn.Open•(3)使用Close方法断开连接•用于关闭一个打开的Connection对象,即断开与数据源的连接。adoCn.Close15.3.2Command对象•Command对象代表对数据源执行的命令。•使用Command命令可以查询数据,并将查询结果返回给RecordSet对象。Command对象的主要属性•ActiveConnection:指定当前使用的连接。•CommandText:命令的文本表达(SQL语句、存储过程名和表名)。•CommandType:指定要执行的命令的类型,与CommandText属性的内容对应。取值如下:•CmdText:指定CommandText的内容是一个SQL语句。•adCmdTable:指定CommandText的内容是一个表名。•adCmdStoredProc:指定CommandText的内容是一个存储过程名。•adCmdUnknown:默认值,表示命令类型未知。Command对象的主要方法•Excute执行CommandText属性中指定的命令并返回由此生成的记录集。使用Command对象'声明对象DimadoCnAsNewADODB.ConnectionDimadoCmAsNewADODB.Command'建立连接adoCn.ConnectionString=“***adoCn.Open'执行命令adoCm.ActiveConnection=adoCnadoCm.CommandText=select*fromauthorsadoCm.Execute‘关闭连接adoCn.Close15.3.3Recordset对象•代表从数据提供者那里获取的数据记录集。•Recordset对象的主要功能包括:•建立记录集;•确定要操作的记录集中的记录;•通过移动指针浏览记录;•对记录集中的数据执行更改操作;•对记录集中的数据进行过滤。Recordset对象的主要属性•AbsolutePosition:记录集中当前记录的顺序位置。•ActiveCommand:记录集中创建的命令。•ActiveConnection:记录集中创建的连接。•BOF:如果当前行移动到记录集的第一条记录的前边,则
本文标题:第15章 ADO与数据绑定控件
链接地址:https://www.777doc.com/doc-3844457 .html