




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 ADO操作数据库,本章的基本要求: 掌握利用ADO控件操作数据库中数据的方法。 掌握利用ADO控件操作数据库中数据的方法,1,专业课堂,10.1 数据访问对象模型,数据访问接口是一个对象模型,代表访问数据的各个方面。 VB中的三种数据访问接口:分别代表数据访问技术的不同发展阶段 数据访问对象(DAO) 远程数据对象(RDO) ActiveX数据对象(ADO,2,专业课堂,ADO接口:是为Microsoft最新和最强大的数据访问范例OLE DB而设计的,是一个便于使用的应用接口。 OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系型数据库、电子邮件和文件系统、文本和图
2、形、自定义业务对象等,3,专业课堂,使用ADO访问数据源,我们可以将数据保存到recordset对象中,然后用update进行更新,还可以用command对象执行SQL 数据更新。使用ADO访问都需要3个步骤:首先是建立数据源连接(即创建connection对象)然后是检索数据(创建recordset对象)和操作数据,4,专业课堂,5,专业课堂,10.2 使用ADO数据控件访问数据库,VB中没有直接访问数据库的方法,只能借助具有数据库感知功能的数据控件或使用数据对象编程来实现对数据库的操作 在VB中,将一个或几个表中的数据对象构成记录集(Recordset类似于表,由行列组成),通过记录集对象
3、对数据库中的数据进行操作和浏览。记录集是一种浏览数据库的工具,可以利用记录集对象选择数据。记录集对象提供了24种方法和26种属性,利用它们可以对数据库中的记录进行各种操作,6,专业课堂,10.2.1 ADO数据控件,ADO Data控件属于ActiveX控件,具有图形控件的优势,可以用最少的代码创建应用程序 添加ADO Data控件:工程-部件,7,专业课堂,1、ADO Data控件的常用属性,8,专业课堂,2、ConnectionString属性的参数,9,专业课堂,ConnectionString属性设定,10,专业课堂,3、Command属性的值,11,专业课堂,4、RecordSour
4、ce属性 取值随CommandType属性值的不同而不同,RecordSource属性设定,12,专业课堂,5、Mode 属性设置值,13,专业课堂,文本框控件(TextBox) 标签控件(Label) 列表框控件(ListBox) 组合框控件(ComboBox) 复选框控件(CheckBox) 图片框控件(PictureBox) 数据列表框控件(Datalist) 数据组合框控件(DataCombo) 数据表格控件(DataGrid,ActiveX控件,10.2.2 数据绑定控件,1、VB中提供的一些控件可实现同ADO控件相连,14,专业课堂,2. 数据绑定,ADO控件通过属性与数据源连接,
5、数据绑定控件也是通过属性(DataSouce、DataField)“绑定”到ADO控件上,实现与数据库的连接。 用来显示Recordset中的数据 将查询条件或更新数据通过结果集(Recordset)传入数据库。 DataSouce:指定ADO数据控件 DataField:指定该控件将要连接的数据控件中可用的数据库字段名,15,专业课堂,ADO Data控件: 移动记录(单击箭头), 修改记录(Locked=False 自动保存 增加新记录(EofActive,1、选定每个 TextBox 控件,并在其“属性”窗口中将“DataSouce”属性设置为该 ADO Data 控件。 2、将“Dat
6、aField”属性设置为在该数据库中想要察看或修改的字段的名称,16,专业课堂,DataGrid控件(数据网格:ActiveX控件,用于输入大批量的数据,可同时修改或浏览多条记录 DataGrid 属性 RecordSouces设置为该ADO Data控件,17,专业课堂,DataGride控件可手工设置显示字段及其顺序、格式、颜色等,还可以对显示字段重新命名(显示,18,专业课堂,10.2.3 用语句设置控件属性,Private Sub Form_Load() Adodc1.CursorLocation = adUseClient Adodc1.CursorType = adOpenStat
7、ic Adodc1.LockType = adLockBatchOptimistic Adodc1.CommandType = adCmdTable Adodc1.RecordSource = s5 Set DataGrid1.DataSource = Adodc1 End Sub,19,专业课堂,20,专业课堂,查询数据,Private Sub Command2_Click() Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from s5 where sno= “ _ Data Source=D:rsgl.mdb”
8、 ConStr= Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=HD“ constr = DSN=school;User ID=sa;PWd=123456 Cn.ConnectionString = ConStr Cn.Open,36,专业课堂,1)Recordset对象的 Open方法 Recordset.Open Souce,ActiveConnection,CursorType,LockType,Options Source:合法的Connection对象变量名、SQL语句、表名、存储过程名或保存记录集的文件名 ActiveConnecti
9、on可选。指定合法的 Connection 对象变量名;或包含 ConnectionString参数的字符串,。 CursorType可选。确定打开 Recordset 时应该使用的游标类型。(Static、Dynamic、Forward-Only、Keyset LockType可选。确定提供者打开 Recordset 时应该使用的锁定类型,三) 打开记录集,37,专业课堂,Options,38,专业课堂,LockType,39,专业课堂,Set Rs=New ADODB.Recordset Rs.CursorLocation=adUseClient Rs.CursorType=adOpenS
10、tatic Rs.LockType=adLockBatchOptimistic Rs.Open 职工工资, Cn Rs.Open 职工工资, Cn, adOpenStatic, adLockBatchOptimistic,40,专业课堂,Public Com As New ADODB.Command 声明ADO对象 Public CnStr As String Public SqlStr As String Set Cn = New ADODB.Connection 创建ADO对象: Set RS = New ADODB.Recordset Set Com = New ADODB.Comman
11、d ConStr = “Provider=SQLOLEDB.1;Persist Security 建立连接 Info=False;User ID=sa;PWd=123456;Initial Catalog=school; Data Source=HD-ICHU1M8LWH8Y Cn.ConnectionString = ConStr Cn.Open SqlStr = select * from s5“ 打开记录集 Set RS = New ADODB.Recordset Set RS.ActiveConnection = Cn RS.CursorLocation = adUseClient R
12、S.CursorType = adOpenStatic RS.LockType = adLockBatchOptimistic RS.Open SqlStr,41,专业课堂,函数,Public Function ExeSql(ByVal sql As String) As adodb.Recordset Set RS = New adodb.Recordset Set RS.ActiveConnection = Cn RS.CursorLocation = adUseClient RS.CursorType = adOpenStatic RS.LockType = adLockBatchOpt
13、imistic RS.Open SqlStr Set ExeSql = RS Set RS = Nothing End Function,调用: Private Sub Form_Load() SqlStr = select * from s5 Set rs1 = ExeSql(SqlStr) Set DataGrid1.DataSource = rs1 End Sub,42,专业课堂,2) Connection对象的 Execute方法 Set Recordset=Connection.Execute( CommandType,Recordsaffected,options) Command
14、Type:包含要执行的 SQL命令、表名、存储过程名或指定文本 Recordsaffected:可选。返回操作影响的记录数 Set Rs=Cn.Execute(“select * from student”,43,专业课堂,Set Recordset=Connection.Execute ( Recordsaffected,Parameters,options,Command 对象,Command 对象用于想已建立连接发出命令,通常是SQL命令、存储过程名 使用Command对象查询数据库并返回Recordset对象中的记录 Command对象提供了更专门的运行方式和参数传递,44,专业课堂,
15、Dim cmd as ADOdb.Command Set cmd= new ADOmand Cmd.acttiveConnection=CN CommandType=adCmdStoredProc CommandText=“avg_proc” Rs=Cmd.Execute 或: CommandType=adCmdText CommandText=“select * from student” Rs=Cmd.Execute,45,专业课堂,建立记录集的方法,1、方法一 RecordSet对象: Set RS.ActiveConnection = Cn RS.CursorLocation = ad
16、UseClient RS.CursorType = adOpenStatic RS.LockType = adLockBatchOptimistic RS.Open SqlStr 2、方法二 Connection对象 Set RS = Cn.Execute (SqlStr) 3、方法三 Command 对象 Com.ActiveConnection = Cn Com.CommandType = adCmdText Com.CommandText = SqlStr Set RS = Com.Execute,SqlStr=“select * from s5“ 或 SqlStr=“ exec 存储过
17、程名,非网格记录集,46,专业课堂,rs.open sql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,47,专业课堂,插入: sqlstr = exec s5_insert User ID=sa;Initial Catalog=HD“ Cn.Open ConStr 打开结果集: Rs.CursorLocation = adUseClient Rs.CursorType = adOpenStatic Rs.LockType = adLockBatchOptimistic Rs.Open 职工工资, Cn, adCmdTable,54,专业课堂,绑定数
18、据: Ft() For i = 0 To Rs.Fields.Count - 1 Text1(i).Text = Rs.Fields(i) Next,55,专业课堂,n = Index Select Case n Case 0 Rs.MoveFirst Case 1 Rs.MovePrevious If Rs.BOF Then Rs.MoveFirst Case 2 Rs.MoveNext If Rs.EOF Then Rs.MoveLast Case 3 Rs.MoveLast End Select Ft,记录定位: 移动结果集指针,显示当前记录,56,专业课堂,For i = 0 To R
19、s.RecordCount - 1 Combo1.AddItem Rs.Fields(2) Rs.MoveNext Next,将结果集中第三个字段(姓名)添加到组合框中,57,专业课堂,n = Combo1.ListIndex Rs.MoveFirst For i = 0 To Rs.RecordCount - 1 If Rs.Fields(2) = Combo1.List(n) Then Exit For Else Rs.MoveNext End If Next Ft,Rs.Move n,在组合框中选择姓名,移动结果集指针到该记录, 并在文本框中显示,ss = 姓名= User ID=sa;
20、Initial Catalog=HD“ Cn.Open ConStr 打开结果集: Rs.CursorLocation = adUseClient Rs.CursorType = adOpenStatic Rs.LockType = adLockBatchOptimistic Rs.Open 职工工资, Cn, adCmdTable 绑定数据: Set DataGrid1.DataSource = Rs,Rs.Sort = 编号,60,专业课堂,Rs.Open select distinct(部门) from 职工工资, Cn,_adCmdText Combo1.AddItem 全体 Rs.MoveFirst For i = 0 To Rs.RecordCount - 1 Combo1.AddItem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中华安全教育试题及答案
- 2025年电工三级(高级工)理论100题及答案
- 云南省通海县三中2025届物理高二下期末学业水平测试模拟试题含解析
- 银川市第三中学2024-2025学年高二下物理期末统考试题含解析
- 宿州市重点中学2025年数学高二下期末考试模拟试题含解析
- 云南省江川第二中学2025年高二物理第二学期期末统考试题含解析
- 云南省宣威市第十二中学2025年高二化学第二学期期末学业质量监测试题含解析
- 重庆市西北狼联盟2024-2025学年高二物理第二学期期末综合测试试题含解析
- 高端住宅小区安保人员服务合同
- 体育场馆场地租赁预付保证金合同
- 《环境保护产品技术要求 工业有机废气催化净化装置》HJT 389-2007
- 微环境调控髓核软骨分化
- 2024年全国统一高考数学试卷(新高考Ⅱ)含答案
- 初二地理会考模拟试卷(七)
- 学生课业负担监测、公告、举报、问责制度
- 2024北京大兴区高一(下)期末数学试题及答案
- PLCS7-300课后习题答案
- 肘管综合症患者护理查房
- 2023年演出经纪人考试历年真题附答案(巩固)
- 媒介与性别文化传播智慧树知到期末考试答案章节答案2024年浙江工业大学
- 工作场所职业病危害作业分级第1部分:生产性粉尘
评论
0/150
提交评论