计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> VB论文设计 >> 浏览文章
企业档案管理系统(vb+access)

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

 即使对OLE DB、COM不了解也能轻松使用ADO,因为它非常简单易用,甚至比DAO都要容易使用,并不失灵活性。ADO提供了一个熟悉的,高层的对OLE DB的自动封装接口。如同RDO对象是ODBC驱动程序一样,不同的数据库要求它们自己的OLE DB提供者(OLE DB Provider)。虽然目前OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。
 ADO向Visual Basic程序员提供了很多好处,包括易于使用、熟悉的界面、高速度以及较低的内存占用(已实现ADO2.0的Msado1.5.dll需要占用342KB内存,大约是DAO3.5的Dap350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此可以创建一个“Connection”对象,但是可以有多个,独立的“Recordset”对象来使用它,另外ADO针对客户/服务器以及Web应用程序作了优化。
 ADO最基本的操作流程:初始化COM库,引入ADO库定义文件;用Connection对象连接数据库;利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。
2.2 ADO的对象
2.2.1数据库连接对象——Connection
这是ADO最大的特点,也是DAO对象所没有的。每一次引用数据库可以建立一个连接对象,然后在其之上建立多个RecordSet,方便远程连接操作。
Recordset对象表示的是来自基本表或者命令执行结果的记录全集,任何时候,Recordset对象所指的当前记录均为集合内的单个记录。
可使用Recordset对象操作来自提供者的数据,使用ADO时,通过Recordset对象可对几乎所有数据进行操作。所以Recordset对象均使用记录(行)和字段(列)进行结构。由于提供者所支持的功能不同,某些Recordset方法或属性有可能无效。
打开Recordset时,当前记录位于第一个记录(如果有),并且BOF和EOF属性被设置成False。如果没有记录,BOF和EOF属性设置是True。
假设提供者支持相关的功能,可以使用MoveFirst、MoveLast、MoveNext和MovePrevious方法以及Move方法,和AbsolutePosition、AbsolutePage和Filter属性来重新确定当前记录的位置。仅向前Recordset对象只支持MoveNext方法。当使用Move方法访问每个记录(或枚举Recordset)时,可用BOF和EOF属性查看移动是否超过Recordset的开始或者结尾。
Recordset对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用Update方法,对数据的所有更改将被立即写入基本数据源。也可以使用AddNew和Update方法将值的数组作为参数传递,同时更新记录的若干字段。
如果提供者支持批更新,可以使提供者将多个记录的更改寸入缓存,然后使用UpdateBatch方法在单个调用中将它们传给数据库。这种情况应用于使用AddNew、Update和Delete方法所做的更改。调用UpdateBatch方法后,可以使用Status属性检查任何数据冲突并加以解决。
2.2.4 字段对象——Field
Field对象代表使用普通数据类型的数据的列。Recordset对象含有由Field对象组成的Field集合。每个Field对象对应与Recordset中的一列,其重要属性如表2-5所示,重要方法如表2-6所示。
2.5 ADO对数据库基本操作
 2.5.1 用记录集(Recordset)对象操纵数据
记录集(Recordset)对象是ADO操作数据最常用的对象,在此对Recordset的基本操作做一个说明
1)创建并打开Recordset对象
Dim rstADO As ADODB. Recordset
 如果在缺省情况下,Visual Basic将按照引用数据库的先后顺序判断一个Recordset是ADO对象还是DAO对象。
 以Microsoft Jet引擎的数据库为例子,ADO打开记录集的方式如下:
 Sub ADOOpenJetDatabase()
  Dim cnn As New ADODB.Connection
Cnn.Open"Provider= Microsoft. Jet.OLEDB.4.0;"
&"Data Source=.\NorthWind.mdb"
  Cnn.Close
 End Sub
 2)浏览数据库记录(定位当前记录)
 关键在于ADO需要先建立Connection.下面来举一个例子:
 Sub ADOOpenJetDatabase()
 Dim cnn As New ADODB.Connection
 Dim rst As New ADODB.Recordset
 Dim fld As ADODB.Field
 '打开连接
 Cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source=.\NorthWind.mdb;"
 '打开方式:forward-only,'read-only
 Rst.Open"SELECT *FROM Customers"&_
  "WHERE Region='WA'",cnn,adOpenForwardOnly,adLockReadOnly
 '输出第一个记录的所有字段值
 For Each fld In rst.Fields
  Debug.Print fld.Value&";";
  Next
Debug.print
  '关闭数据记录集对象
  Rst.Close
  Cnn.Close
 End Sub
 至于Move,MoveNext,FindFirst之类的方法,两者用法相同。
 3)查询数据记录
 ADO的查询数据库记录的方法和DAO有所不同,DAO可以利用RecordSet对象的FindFirst、FindNext、Findlast、FindPrevious方法,依次用Move浏览查询到的记录,并显示出来。而ADO只有Find方法,该方法允许使用一个查找字符串,它由单引号(‘)或数码符号(#)加以封闭。双引号(“)不能使用,数码符号必须封闭数值。
 如果使用Like操作符,就可以用星号(*)作为字符串值中的通配符号。然而,星号必须的值中的最后一个字符或值中的唯一字符。否则会发生运行时的错误。
 除了搜寻条件外,Find方法还有几个参数。应指明开始搜索时要跳过的记录数;否则,搜索当从当前记录开始。当要开始搜索下一个值时,应当指明一个起始值。
 在记录集中也可以指明是否向回搜索(相开头)或者向前(向尾部),可以通过指明书签作为搜索的开始位子。
 Find方法的调用语法是:
 RstName.Find strCriteria[,IngSkipRecords,IngSe archDirection[,varStart]]
 其中strCriteria是查找条件,比较符仅限于“=”、“>”、“<”、“>=”、“<=”、和“LIKE”,比较只是针对表中的单个字段。
 4)增、删、改数据记录
 ADO可以用与DAO完全相同的方法进行添加、删除的操作。唯一不同的是要先建立一个Connection对象。
 ADO还提供了一个快捷的添加方式:
 Rst.AddNew Array("CompanyName","Phone"),Array("ABCD CD","(010)123-4567")
 修改现有记录时,ADO不需要调用Edit方法,直接对当前记录某字段属性赋值之后调用Update方法就可以实现。
2.5.2 用Connection对性运行查询语句
使用Connection对象的Execute方法,可执行任何在指定连接的参数中传送给方法的查询。如果参数指定按行返回的查询,执行产生的任何结果将存储在新的Connection对象中。如果命令不是按返回的查询,则提供返回者关闭的Connection对象,应首先创建具有所需要属性的设置的Connection对象,然后用Connection对象的Open方法执行查询并返回所需要游标的类型。具体的语法如下:
对于非按行返回的命令字符串:
connection.Execute CommandText,RecordsAffected,Options
对于按行返回的命令字符串:
Set recordset=connection.Execute(CommandText,RecordsAffected,Options)
2.6 ADO和DAO/RDO的比较
ADO是DAO/RDO的后继产物。ADO 2.0在功能上与RDO更相似,而且一般来说,在这两 种模型之间有一种相似的映射关系。ADO扩展了DAO和RDO所使用的对象模型,这意味 着它包含较少的对象、更多的属性、方法(和参数),以及事件。例如,ADO没有与rdoEngine和rdoEnvironment对象相等同的对象,可以显露ODBC驱动程序管理器和hEnv接口。尽管 事实上接口可能是通过ODBC OLE DB服务提供程序实现的,但当前也不能从ADO 中创建ODBC数据源。
ADO并不是自动和现存的数据访问应用程序代码兼容的。当ADO封装DAO和RDO的 功能性的时候,必须将许多语言要素转换为ADO语法。在某些情况下,这将意味着现存代 码的某些功能的一个简单转换。在其他情况下,最佳的做法可能是用ADO的新功能重写该 应用程序。
包含在DAO和RDO模型中的许多功能被合并为单个对象,这样就生成了一个简单得 多的对象模型。与DAO和RDO不同的是,尽管ADO对象是分层结构的,但在分层结构范围之外也是可以创建的。不过,应当注意,ADO当前并不支持DAO的所有功能。ADO主要包括RDO风格的功能性,以便和OLE DB数据源交互,另外还包括远程和DHTML技术。
 单击窗体中的“显示详细信息”按钮,进入详细资料窗体,当用户要添加新档案时,也通过这个窗体实现。由于此窗体有两种用途,一来是显示员工档案,二来是添加新的员工档案。因此窗体加载的时候也应该分两钟情况。为了区分这两种情况,可定义两个布尔型的全局变量show_arch和addinfo。当以“查看详细资料”按钮进入时,show_arch的值为True,addinfo的值为False。当通过“添加职工档案”命令进入时,show_arch的值为false,addinfo的值为True。
 首先在公共模块中添加这两个变量:
 Option Explicit
 Public selsct_row As String
……
Public show_arch As Boolean
Public addinfo As Boolean   '标记是否处于“添加档案”状态
……
当单击“查看详细资料”按钮后,加载详细资料窗体,并设置标记值。代码如下:
Private Sub Command1_Clock()
show_arch=True
addinfo=False
……
Form1.Show
End Sub
当单击主窗体中的“档案管理”——>“添加职工档案”菜单进入窗体时,添加的代码如下:
Private Sub archive_managent_Clock()
Selsct_row=""
addinfo=True
show_arch=False
……
Form1.Show
End Sub
窗体加载后,控制按钮的部分也应该有两个状态。如果是做显示资料用,则“修改员工信息”、“删除员工档案”和“返回”按钮可以用,“保存”、“取消”按钮不可用。如果是处于添加状态则相反。因此,在窗体加载时还要设置按钮状态。在公共模块中定义一个布尔型的变量cmd_states来标记:

上一篇: (VB+ACCESS)企业人事管理系统
下一篇: (VB+ACCESS)高速公路票据管理系统
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。