使用ADO操作数据库

上传人:我*** 文档编号:136916899 上传时间:2020-07-03 格式:PPT 页数:69 大小:365KB
返回 下载 相关 举报
使用ADO操作数据库_第1页
第1页 / 共69页
使用ADO操作数据库_第2页
第2页 / 共69页
使用ADO操作数据库_第3页
第3页 / 共69页
使用ADO操作数据库_第4页
第4页 / 共69页
使用ADO操作数据库_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《使用ADO操作数据库》由会员分享,可在线阅读,更多相关《使用ADO操作数据库(69页珍藏版)》请在金锄头文库上搜索。

1、第十章ADO操作数据库,本章的基本要求:掌握利用ADO控件操作数据库中数据的方法。掌握利用ADO控件操作数据库中数据的方法,10.1数据访问对象模型,数据访问接口是一个对象模型,代表访问数据的各个方面。VB中的三种数据访问接口:分别代表数据访问技术的不同发展阶段数据访问对象(DAO)远程数据对象(RDO)ActiveX数据对象(ADO),ADO接口:是为Microsoft最新和最强大的数据访问范例OLEDB而设计的,是一个便于使用的应用接口。OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系型数据库、电子邮件和文件系统、文本和图形、自定义业务对象等,使用ADO访问数据源,我们

2、可以将数据保存到recordset对象中,然后用update进行更新,还可以用command对象执行SQL数据更新。使用ADO访问都需要3个步骤:首先是建立数据源连接(即创建connection对象)然后是检索数据(创建recordset对象)和操作数据。,10.2使用ADO数据控件访问数据库,VB中没有直接访问数据库的方法,只能借助具有数据库感知功能的数据控件或使用数据对象编程来实现对数据库的操作在VB中,将一个或几个表中的数据对象构成记录集(Recordset类似于表,由行列组成),通过记录集对象对数据库中的数据进行操作和浏览。记录集是一种浏览数据库的工具,可以利用记录集对象选择数据。记录

3、集对象提供了24种方法和26种属性,利用它们可以对数据库中的记录进行各种操作。,10.2.1ADO数据控件,ADOData控件属于ActiveX控件,具有图形控件的优势,可以用最少的代码创建应用程序添加ADOData控件:工程-部件-,1、ADOData控件的常用属性,2、ConnectionString属性的参数:,ConnectionString属性设定:,3、Command属性的值:,4、RecordSource属性取值随CommandType属性值的不同而不同:,RecordSource属性设定:,5、Mode属性设置值,文本框控件(TextBox)标签控件(Label)列表框控件(L

4、istBox)组合框控件(ComboBox)复选框控件(CheckBox)图片框控件(PictureBox)数据列表框控件(Datalist)数据组合框控件(DataCombo)数据表格控件(DataGrid),ActiveX控件,10.2.2数据绑定控件,1、VB中提供的一些控件可实现同ADO控件相连,2.数据绑定,ADO控件通过属性与数据源连接,数据绑定控件也是通过属性(DataSouce、DataField)“绑定”到ADO控件上,实现与数据库的连接。用来显示Recordset中的数据将查询条件或更新数据通过结果集(Recordset)传入数据库。DataSouce:指定ADO数据控件D

5、ataField:指定该控件将要连接的数据控件中可用的数据库字段名,ADOData控件:移动记录(单击箭头),修改记录(Locked=False自动保存增加新记录(EofActive),1、选定每个TextBox控件,并在其“属性”窗口中将“DataSouce”属性设置为该ADOData控件。2、将“DataField”属性设置为在该数据库中想要察看或修改的字段的名称。,DataGrid控件(数据网格:ActiveX控件,用于输入大批量的数据,可同时修改或浏览多条记录DataGrid属性RecordSouces设置为该ADOData控件,DataGride控件可手工设置显示字段及其顺序、格式、

6、颜色等,还可以对显示字段重新命名(显示),10.2.3用语句设置控件属性,PrivateSubForm_Load()Adodc1.CursorLocation=adUseClientAdodc1.CursorType=adOpenStaticAdodc1.LockType=adLockBatchOptimisticAdodc1.CommandType=adCmdTableAdodc1.RecordSource=s5SetDataGrid1.DataSource=Adodc1EndSub,查询数据:,PrivateSubCommand2_Click()Adodc1.CommandType=adC

7、mdTextAdodc1.RecordSource=select*froms5wheresno=“_DataSource=D:rsgl.mdb”ConStr=Provider=SQLOLEDB.1;UserID=sa;InitialCatalog=HD“constr=DSN=school;UserID=sa;PWd=123456Cn.ConnectionString=ConStrCn.Open,1)Recordset对象的Open方法Recordset.OpenSouce,ActiveConnection,CursorType,LockType,OptionsSource:合法的Connect

8、ion对象变量名、SQL语句、表名、存储过程名或保存记录集的文件名ActiveConnection可选。指定合法的Connection对象变量名;或包含ConnectionString参数的字符串,。CursorType可选。确定打开Recordset时应该使用的游标类型。(Static、Dynamic、Forward-Only、KeysetLockType可选。确定提供者打开Recordset时应该使用的锁定类型,(三)打开记录集,Options,LockType,SetRs=NewADODB.RecordsetRs.CursorLocation=adUseClientRs.CursorTy

9、pe=adOpenStaticRs.LockType=adLockBatchOptimisticRs.Open职工工资,CnRs.Open职工工资,Cn,adOpenStatic,adLockBatchOptimistic,PublicComAsNewADODB.Command声明ADO对象PublicCnStrAsStringPublicSqlStrAsStringSetCn=NewADODB.Connection创建ADO对象:SetRS=NewADODB.RecordsetSetCom=NewADODB.CommandConStr=“Provider=SQLOLEDB.1;Persist

10、Security建立连接Info=False;UserID=sa;PWd=123456;InitialCatalog=school;DataSource=HD-ICHU1M8LWH8YCn.ConnectionString=ConStrCn.OpenSqlStr=select*froms5“打开记录集SetRS=NewADODB.RecordsetSetRS.ActiveConnection=CnRS.CursorLocation=adUseClientRS.CursorType=adOpenStaticRS.LockType=adLockBatchOptimisticRS.OpenSqlSt

11、r,函数:,PublicFunctionExeSql(ByValsqlAsString)Asadodb.RecordsetSetRS=Newadodb.RecordsetSetRS.ActiveConnection=CnRS.CursorLocation=adUseClientRS.CursorType=adOpenStaticRS.LockType=adLockBatchOptimisticRS.OpenSqlStrSetExeSql=RSSetRS=NothingEndFunction,调用:PrivateSubForm_Load()SqlStr=select*froms5Setrs1=E

12、xeSql(SqlStr)SetDataGrid1.DataSource=rs1EndSub,2)Connection对象的Execute方法SetRecordset=Connection.Execute(CommandType,Recordsaffected,options)CommandType:包含要执行的SQL命令、表名、存储过程名或指定文本Recordsaffected:可选。返回操作影响的记录数SetRs=Cn.Execute(“select*fromstudent”),SetRecordset=Connection.Execute(Recordsaffected,Paramete

13、rs,options),Command对象,Command对象用于想已建立连接发出命令,通常是SQL命令、存储过程名使用Command对象查询数据库并返回Recordset对象中的记录Command对象提供了更专门的运行方式和参数传递,DimcmdasADOdb.CommandSetcmd=newADOmandCmd.acttiveConnection=CNCommandType=adCmdStoredProcCommandText=“avg_proc”Rs=Cmd.Execute或:CommandType=adCmdTextCommandText=“select*fromstudent”Rs

14、=Cmd.Execute,建立记录集的方法,1、方法一RecordSet对象:SetRS.ActiveConnection=CnRS.CursorLocation=adUseClientRS.CursorType=adOpenStaticRS.LockType=adLockBatchOptimisticRS.OpenSqlStr2、方法二Connection对象SetRS=Cn.Execute(SqlStr)3、方法三Command对象Com.ActiveConnection=CnCom.CommandType=adCmdTextCom.CommandText=SqlStrSetRS=Com.

15、Execute,SqlStr=“select*froms5“或SqlStr=“exec存储过程名“,非网格记录集,rs.opensql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,插入:sqlstr=execs5_insertUserID=sa;InitialCatalog=HD“Cn.OpenConStr打开结果集:Rs.CursorLocation=adUseClientRs.CursorType=adOpenStaticRs.LockType=adLockBatchOptimisticRs.Open职工工资,Cn,adCmdTable,绑定数据

16、:Ft()Fori=0ToRs.Fields.Count-1Text1(i).Text=Rs.Fields(i)Next,n=IndexSelectCasenCase0Rs.MoveFirstCase1Rs.MovePreviousIfRs.BOFThenRs.MoveFirstCase2Rs.MoveNextIfRs.EOFThenRs.MoveLastCase3Rs.MoveLastEndSelectFt,记录定位:移动结果集指针,显示当前记录,Fori=0ToRs.RecordCount-1Combo1.AddItemRs.Fields(2)Rs.MoveNextNext,将结果集中第三个字段(姓名)添加到组合框中,,n=Combo1.ListIndexRs.MoveFirstFori=0ToRs.RecordCount-1IfRs.Fields(2)=Combo1.List(n)ThenExitForElseRs.MoveNextEndIfNextFt,Rs.Moven,在组合框中选择姓名,移动结果集指针到该记录,并在文本框中显示,ss=姓名=UserID=s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号