




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic 数据库程序设计,Visual Basic 6.0提供了功能强大的数据库访问功能,使用户可以方便、灵活地开发功能强大的数据库应用程序。,Visual Basic 6.0的数据访问对象,DAO(Data Access Object,数据访问对象) RDO(Remote Data Object,远程数据对象) ADO(ActiveX Data Object,ActiveX数据对象),ADO数据访问技术,ADO是Microsoft公司开发的建立在OLE DB之上的高层数据库访问技术。,OLE DB 是一种数据访问的技术标准。OLE DB标准的核心内容就是要求对各种各样的数据存
2、储都提供一种相同的访问接口,使得访问数据的应用程序可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。,一、使用ADO数据控件访问数据库,1、ADO数据控件的添加 选择“工程” “部件”菜单项,在弹出的对话框中选择“控件”面板,在控件列表中选择“Microsoft ADO DataControl6.0(OLEDB)”控件,2、ADO数据控件的属性设置,(1)ConnectionString连接字符串 该属性设置与数据库连接的相关信息。,点击进入,设置连接字符串的操作步骤: 选择OLE DB提供程序: Microsoft OLE DB Provider for SQL Se
3、rver 选择服务器; 输入登陆服务器的信息; 选择数据库; 测试连接。,(2)CommandType命令类型该属性设置记录集来源的类型,8-adCmdUnknown:默认值 1-adCmdText:SQL语句(Select语句) 2-adCmdTable:数据表 4-adCmdStoredProc:存储过程,(3)RecordSource记录源该属性设置具体可访问的数据。,(4)Mode 模式该属性控制对数据的操作权限,如写、读、共享等。,3、数据绑定控件,ADO控件本身不能直接显示记录集中的数据,数据的显示必须使用数据绑定控件。 数据绑定控件是任何具有DataSource属性的控件。VB的
4、数据绑定控件有:TextBox、Label、PictureBox、Image、ListBox、ComboBox、CheckBox等内部控件,以及DataList、DataCombo、DataGrid等ActiveX控件。,数据绑定控件的常用属性,DataSource属性:返回或设置一个数据源,例如,可以将DataSource属性设置为一个有效的ADO数据控件。 DataField属性:返回或设置数据绑定控件将被绑定到的字段名。,练习1,使用ADO数据控件访问Pubs数据库,实现在窗体上浏览 Authors表中的信息,效果如下图所示。,练习2,使用ADO数据控件访问Pubs数据库,实现在窗体上浏
5、览 著书的情况,要求显示作者编号、作者姓名、书编号与书名。 (提示:设置ADO控件的记录源为查询语句,建议先在查询 分析器中调试好查询语句,再粘贴到VB中使用),练习3,使用ADO数据控件访问Pubs数据库,实现在窗体上浏览 所有的著书记录,要求显示作者编号、作者姓名、书编号与书名。(使用DataGrid控件),二、使用ADO对象模型访问数据库,ADO对象模型定义了一个可编程的分层对象集合,可以 通过这些对象来实现与数据库的连接并对数据执行各种各样的操作。,ADO对象模型中各对象作用简介:,Connection对象:用来建立和数据库的连接 Error对象:跟连接有关的错误信息 Command对
6、象:用于定义对数据库执行的命令 Parameter对象:为Command对象指定执行参数 Recordset对象:查询数据库返回的数据(记录)集合 Field对象:对应于Recordset中的每一个字段,使用ADO对象前,首先要添加ADO的对象库,添加方法是: 选择“工程” “引用”命令,在弹出的对话框中选择“Microsoft ActiveX Data Object 2.X Library”选项。,添加ADO对象库,(一)Connection对象,Connection对象又称连接对象,用来和数据库建立连接,只有建立连接后,才可以利用Command对象和Recordset对象对数据库进行各种操
7、作。,用Connection对象对数据库进行操作的基本步骤,1、使用Dim语句创建一个Connection对象 Dim Connection对象名 As New ADODB.Connection 例: New Mycon As New ADODB.Connection,2、设置Connection对象的连接字符串(ConnectionString)属性,(1)如果使用SQL Server的用户名(sa)和密码(sa)连接,代码如下: Mycon.ConnectionString = Driver=SQL Server;Server=(local); UID=sa;pwd=sa;Database
8、=pubs,(2)如果使用Windows集成安全设置,则代码如下: Mycon.ConnectionString = Driver=SQL Server;Server=(local); integrated_security=PPSI;Database=pubs,4、用Connection对象的Execute方法来执行对数据库的各种操作,它的语法有两种:,(1)当对数据库进行查询(Select)操作时,查询返回的记录集 需要用Recordset对象来存储,这时用以下格式表示: Set Recordset对象名=Connection对象名.Execute(SQL语句) 例: Set Myrs=M
9、ycon.Execute(Select) (2)而执行添加、删除和更新(Insert、Delete、Update)操作 时不返回记录集,这时用以下格式表示: Connection对象名.Execute(SQL语句) 例: Mycon.Execute(),3. 利用Connection对象的open方法打开与数据库的连接, 语法如下: Connection对象名.Open 例:Mycon.Open,5. 利用Connection对象的close方法关闭与数据库的连接, 语法如下: Connection对象名.Close 例:Mycon.Close,6.将Connection对象从内存中完全删除
10、语法如下: Set Connection对象名=Nothing 例:Set Mycon=Nothing,1.新建Connection(连接)对象 Dim Mycon As New ADODB.Connection 2.设置ConnectionString属性 Mycon.ConnectionString = 3.打开连接对象 Mycon.Open 4.执行SQL语句 Dim SQL As String SQL = Mycon.Execute (SQL) 5.关闭连接对象 Mycon.Close 6.清空连接对象 Set Mycon = Nothing,Connection对象的基本使用流程如下
11、:,练习4,编写应用程序,当用户在文本框中输入一语法正确的SQL 语句,单击“执行”按钮时,程序能连接pubs数据库,执行 该SQL语句。,练习5,编写应用程序,当用户输入书 编号、书名、类别与出版日期, 单击“添加图书”按钮时,程序 能连接pubs数据库,向titles表 添加一条新图书记录。,附加题1:,在练习5的基础上完善以下功能: (1)让用户界面更友好,将类别与出版日期的输入改为 使用组合框ComboBox进行选择; (2)为增强容错能力,需要对输入进行检查: 所有信息为必填项; 输入的日期必须是一个正确的日期。,(二)RecordSet对象,RecordSet对象是从数据库中根据指
12、定条件 返回的一个记录集。使用RecordSet对象可以查询、添加、删除或更新数据。,RecordSet对象的Open方法,创建一个Recordset对象后,在使用该对象前需要使用Open方法将其打开。,Open方法语法如下: 对象名.Open Source,ActiveConnection,CursorType,LockType,Option 其中,各参数说明如下: Source:记录集来源的SQL语句、表名或存储过程名等 ActiveConnection:所使用的连接对象名 CursorType:指定指针类型,取值有adOpenForwardOnly、adOpenKeyset、 等4种,各
13、取值含义如课本280页表12-2所示 LockType:指定锁定类型,取值有adLockReadOnly、adLockPessimistic 等4种,各取值含义如课本281页表12-3所示 Option:用于指定Source参数的类型,取值有adCmdText、adCmdTable等 5种,各取值的含义如课本281页表12-4所示,Recordset对象的一般使用步骤,(1)新建Recordset对象; (2)打开Recordset对象; (3)使用Recordset对象进行数据的显示、添加、删除、更新操作; (4)关闭Recordset对象; (5)从内存中清空Recordset对象。,例题
14、:使用Recordset对象,在DataGrid控件中显示pubs数据库titles表的数据。(参考课本283页例12-7),新建与打开Connection对象 (代码略) 新建Recordset对象 Dim Myrs As New ADODB.Recordset 打开Recorset对象 Dim SQL SQL = select * from titles Myrs.Open SQL, Mycon, adOpenStatic, adLockOptimistic, adCmdText 在DataGrid中显示Recordset对象中的数据 Set DataGrid1.DataSource =
15、Myrs,练习6,功能要求: (1)窗体打开时,表格中显示所有图书的信息; (2)当在文本框中输入关键字,单击“搜索”按钮时,程序按书名进行 模糊搜索,并将搜索到的数据在表格中显示; (3)单击“显示全部”按钮时,在表格中显示所有图书信息。 (提示:如果在多个事件过程中都使用相同的Conncetion对象与 Recordset对象,则应将其新建语句放在窗体或模块的通用声明部分),RecordCount属性: 返回记录集的记录个数 Bof属性:判断记录指针是否指向记录集的开头,若是,则返回True Eof属性:判断记录指针是否指向记录集的末尾,若是,则返回True,RecordSet对象的常用属
16、性和方法(1),Eof,打开记录集时,如果记录集非空,记录指针指向第一条记录; 如果记录集为空,指针同时指向Bof与Eof(因Bof与Eof重合), 此时,记录集对象的Bof属性与Eof属性同为True。,练习7,实现系统登陆功能,当用户输入用户名与密码,单击“登陆” 按钮时,程序查询数据库判断是否有该用户,如有,则跳转 至主界面,否则,提示登陆失败。,MoveNext方法: 指针移向下一条记录 MovePrevious方法: 指针移向上一条记录 MoveFirst方法:指针移向第一条记录 MoveLast方法:指针移向最后一条记录,RecordSet对象的常用属性和方法(2),练习8,编写程
17、序,按行的方式显示图书的信息(一次显示一本图书的数据),当单击相应的按钮时,可执行相关的浏览操作。,Recordset对象的常用属性与方法(3),AddNew方法:在记录集中添加一条新记录。在调用AddNew方法后,新记录将成为当前记录并在调用Update方法后继续保持成为当前记录。 Delete方法:删除当前记录。删除当前记录后,已删除的记录将保持为当前状态,记录指针不会自动移动到下一条记录上。 Update方法:保存对Recordset对象的当前记录所做的修改。,练习9,利用Recordset对象的AddNew方法与Update方法实现 向数据表添加新记录的功能。,提示操作流程如下: 调用
18、AddNew方法向记录集添加一条新的空白记录 Myrs.AddNew 给该新记录对应的各字段赋值 Myrs(title_id) = Text1.Text 或 Myrs(0) = Text1.Text 调用Update方法保存新记录 Myrs.Update,练习10,在练习8的基础上为窗体添加一组操作按钮(如下图所示), 为“删除”按钮添加事件代码,使用Recordset对象的Delete 方法删除当前记录。 (注意:CursorType属性选adOpenDynamic),练习11,在练习10的基础上实现修改当前记录的功能,要求: 单击“修改”按钮时,用户可在文本框中对当前记录进行修改, 修改完
19、毕后,单击“保存”按钮,可保存用户对数据的更新, 单击“取消”按钮,则取消用户对数据的更新。 (提示:使用Recordset对象的Update方法),练习12,利用DataCombo控件与DataGrid控件实现分类搜索的功能。,提示: 设置ADODC控件属性:ConnectionString、CommanType与RecordSource 设置DataBound控件属性:RowSource、ListField 设置DataGrid控件属性:DataSource 可在程序运行过程中使用代码动态修改ADODC控件的CommandType属性与RecordSource属性的取值,修改完毕后需要调用
20、Refresh方法刷新,(三)Error对象,Description属性:包含有关错误的描述信息 Number属性:唯一标识Error对象的数字,使用Number属性可确定发生错误的类型 Source属性:Source属性是只读属性,用于指示产生错误的原始对象或应用程序的对象名称,任何涉及ADO对象的操作都可能产生一个或多个错误, 产生错误时,可以利用Error对象捕捉错误。 Error对象的常用属性有:,使用Error对象对错误进行处理的代码流程,On Error GoTo ErrorHandle Dim ErrObj As adodb.Error 数据库操作代码(略) Exit Sub ErrorHandle: For Each ErrObj In Mycon.Errors ErrorDescription = 错误信息: & ErrObj.Description ErrNumber = 错误号: & ErrObj.Number ErrorSo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车位出租协议
- 辽宁省大连市普兰店市第三中学2025年物理高二下期末预测试题含解析
- 二零二五年餐饮企业特色美食研发与市场推广合同范本
- 二零二五年度信息安全保密合作合同
- 2025版特色美食街食堂承包管理合同
- 二零二五年度建筑照明材料购销合同规范
- 二零二五版家政服务公司专业保洁服务合同
- 二零二五年度车辆抵押保险理赔合同范本
- 二零二五版绿色食品生产场与客户双重认可合作协议
- 二零二五年度农产品深加工采购合同
- 电网工程设备材料信息参考价2025年第一季度
- GB/T 26323-2010色漆和清漆铝及铝合金表面涂膜的耐丝状腐蚀试验
- GB/T 1796.6-2018轮胎气门嘴第6部分:气门芯
- 高中新生入学教育课件
- 出版政策与法规课件
- 综合管廊基坑降排水施工专项方案
- 安徽省工伤职工停工留薪期分类目录
- MSDS 化学品安全说明书(油漆)
- DB13T 5240-2020 煤矿在用钢丝绳牵引卡轨车安全检测检验规范
- 消防设施移交及消防设施操作维护人员培训和清单参考模板范本
- SLAP损伤的治疗课件
评论
0/150
提交评论