VB数据库.docx
- 文档编号:5444118
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:21
- 大小:363.41KB
VB数据库.docx
《VB数据库.docx》由会员分享,可在线阅读,更多相关《VB数据库.docx(21页珍藏版)》请在冰豆网上搜索。
VB数据库
vb神童教程(续)--ODBC数据源简介
ODBC(开放式数据库连接)是一种应用程序的接口(API)。
这种接口提供了独立于任何的数据管理系统编写应用程序的能力。
OCBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS)。
用户的应用程序使用这组API来调度ODBC驱动程序。
然后驱动程序通过SQL语句同DBMS发生联系。
下面我们开始介绍ODBC数据源。
在“我的电脑”中打开“控制面板”中的“管理工具”,在窗口中即可见ODBC数据源图标。
双击打开ODBC数据源管理器,如下图所示:
ODBC数据源管理器为配置、添加、删除各种不同的数据源名称提供了最为简洁的方法。
它使得用户可以轻松地完成数据源的配置工作,用户也可以删除原有的DSN(数据源名称),或对先前配置的数据源进行修改。
ODBC数据源管理器的具体功能如下:
▲用户DSN:
ODBC用户数据源存储了如何与指定数据提供者连接的信息。
用户数据源只对当前的用户可见,而且只能应用在本机上。
▲系统DSN:
ODBC系统数据源存储了如何与指定数据提供者连接的信息。
系统数据源对当前机器上的所有用户可见。
▲文件DSN:
ODBC文件数据源允许用户连接数据提供者。
文件DSN可以由安装了相同驱动程序的用户共享。
▲驱动程序:
ODBC驱动程序允许那些支持ODBC的程序通过ODBC数据源获取信息。
如果安装新的驱动程序,要使用其安装程序。
▲跟踪:
ODBC跟踪允许创建调用ODBC驱动程序的日志,以供技术人员查看;也可以辅助调试应用程序。
VisualStudio跟踪启动MicrosoftVisualStudio的ODBC跟踪。
▲连接池:
连接池允许应用程序重新打开连接句柄,此操作将往返过程存入服务器。
vb神童教程(续)--配置Access数据源
(1)打开控制面板中的ODBC数据源管理器,在“用户DSN”(即“用户数据源”)中选择“MSAccessDatabase”选项,可心删除或配置一个已有的用户数据,这里我们将要添加一个数据源。
(2)单击添加按钮,系统将准备在MSAccessDatabase下添加一个用户数据源,为了安装数据源,会弹出创建新数据源窗口,如下图:
(3)在创建新数据源窗口中,选择"MicrosoftAccessDriver"来安装数据源。
(4)单击“完成”按钮,进入ODBCMicrosoftAccess安装窗口,如下图:
▲在“数据源名”项中键入数据源的名称,这里我们键入“Access_db”作为数据源名。
▲在“描述”项中键入对数据源的描述,此处内容可选,这里我们键入“ThisisAccessdatabasetemp”。
▲在“数据库”项中可以选取、创建、修复或者压缩数据库。
这里我们选择“选取”按钮来选取相应的Access数据库。
如果用户没有自己建立的Access数据库,那么用户可以到安装Access的目录下面选取Access自带的数据库。
注意:
Access数据库文件的扩展名是.mdb。
▲最后,单击“确定”按钮。
至此一个新的Access数据源已经添加完成,如下图:
说明:
如果用户希望所创建的数据源名被本机中的多个用户所使用,请用户添加系统DSN。
在实际情况中,开发一个单机单用户的系统没有什么意义,所以一般都需要对系统DSN进行配置。
系统DSN的添加过程同用户DSN添加过程类似。
vb神童教程(续)---配置SQLServer数据源
配置SQLServer数据源的步骤:
(1)打开控制面板中的ODBC数据源管理器,单击“添加”按钮来添加一个数据源。
(2)单击添加按钮后,系统将准备添加一个用户数据源。
为了安装数据源,会弹出创建新数据源窗口,如下图所示。
由于VB和SQLServer的系列性,所以即使用户没有安装SQLServer,在创建新数据源窗口中也列有SQLServer这一项。
当然,这里的列表项只是起了一个标识作用,如果用户尚未安装SQLServer,请先安装后再进行以下的步骤。
(3)在上图选择“SQLServer”后,单击“完成”按钮,进入“创建新的数据源到SQLServer”窗口,如下图所示:
▲在“名称”项中键入新的数据源名,这里我们键入SQLServer1作为新数据源名称。
▲在“描述”项中键入对数据源的描述,此处可以不填。
▲在“服务器”项中键入想连接的SQLServer服务器。
如果要连接的SQLServer是安装在本机上,那么就从下拉框中选择“Local”,local表示的是连接到本地的服务器。
如果要连接的SQLServer是安装在其它的服务器上,那么就应从下拉框中选取相应的选项。
如果从列表中选择服务器名称,则不需要更多的配置。
如果输入一个不存在的服务器的名字作为SQLClientConfigurationUtility中的一项,可在向导的下一个屏幕上为新名字创建一个服务器别名。
▲单击“完成”按钮完成新数据源的配置。
单击“下一步”按钮进行下一步的配置工作。
▲在“SQLServer”应该如何验证登录标识号的真伪?
”下面有两个单选项供用户选择。
▲如果选定“使用用户输入登录标识号和密码的SQLServer验证”,请指定连接到SQLServer时SQLServer驱动程序使用的登录标识号。
这仅适用于确定服务器默认配置的连接,而不适用于使用已创建数据源进行的后续连接。
▲如果选定“使用用户输入登录标识号和密码的SQLServer验证“,请指定连接到SQLServer时SQLServer使用的密码。
这只适用于确定服务器默认配置的连接,而不适用于使用新数据源进行的后续连接。
(5)单击“下一步”按钮将进行连接的验证。
如果正确,则连接成功;否则,系统会指出具体的错误,用户应该重新验证输入的正确性。
vb神童教程(续)--VB的ADO对象
ADO简介
参考资料:
ADO简介:
ado对象模型:
ADO是另一种用于开发访问OLEDB数据源应用程序的API。
有多种程序设计语言都支持ADO,如VB,VC++,VJ++等。
ADO提供了较为高级并容易被理解的访问OLEDB数据源的机制,它结合了DAO和RDO的优点。
并提供了OLEDB数据源的入口。
OLEDB是一种数据库体系结构,它为企业网络提供了普遍的数据综合能力(从大型机到桌面上的数据,而不管数据的具体类型是什么),与ODBC相比,OLEDB在数据通道方面更具有普遍性和有效性,这是因为它允许同建立在COM基础上的更多的数据类型联系和由于ADO是为开发客户机/服务器程序而专门设计的。
下图是典型的ADO应用程序的结构。
ADO的特征如下:
▲支持成批更新.即对更新的多个记录进行缓冲,并同步传输到服务器。
▲支持所有类型的光标。
包括只能前移型,关键值型以及动态和静态型。
▲支持服务器端的存储过程。
这些过程可以大大提高应用程序的通用性。
▲支持返回多个记录集的查询。
▲支持查询目的。
包括限制返回的记录的个数,激活返回记录的过滤和预先语句。
ADO是由以下对象组成的:
Command,Connect,Error,Field,Parameter和RecordSet。
下图给出了ADO对象的层次结构。
除了Error和Field之外的所有ADO对象都是可以单独创建的,而Command,Error和Parameter对象是可选的。
vb神童教程(续)--vbadodbConnection对象简介
Connection对象介绍
Connection对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的Connection对象的信息.有一些属性是只读的,而另一些属性是可读写的.
1.Attributes属性
Attributes属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于Connection对象,Attributes属性为读/写,并且其值可能为以下任意一个或多个XactAttributeEnum值的和(默认为零).
▲AdXactCommitRetaining:
执行保留的提交,即通过自动调用CommitTrans启动新事务。
并非所有提供者都支持该常量。
▲AdXactAbortRetaining:
执行保留的中上,即通过自动调用RollbackTrans启动新事务。
并非所有提供者都支持该常量。
2.CommandTimeout属性
CommandTimeout属性设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。
默许值为30,指示在终止尝试和产生错误之前执行命令期间需要等待的时间。
使用Connection对象或Command上的CommandTimeout属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消Execute方法调用。
如果在CommandTimeout属性中设置的时间间隔内没有完成命令执行,将产生错误,然后ADO将取消该命令。
如果将该属性设置为零,ADO将无限期等待直到命令执行完毕。
3.ConnectionString属性
ConnectionString属性设置或返回字符串值,这个字符串值包含用来建立到数据源的连接的信息.使用ConnectionString属性,通过传递包含一系列由分号分隔的argument=value语句的详细连接字符串可指定数据源。
ADO支持ConnectionString属性的四个参数,任何其他参数将直接传递到提供者而不经过ADO处理。
▲Provider参数:
指定用来连接的提供者名称。
▲FileName参数:
指定包含预先设置连接信息的特定提供者的文件名称。
▲RemoteProvider参数:
指定打开客户端连接时使用的提供者名称。
▲RemoteServer参数:
指定打开客户端连接时使用的服务器的路径名称。
例:
使用Connection对象的ConnectionString属性的示例代码
PublicSubConnectionString_Example()
Dimconnection1AsADODB.Connection
Dimconnection2AsADODB.Connection
Dimconnection3AsADODB.connection
Dimconnection4AsADODB.Connection
'不使用数据源名(DSN)打开连接
Setconnection1=NewADODB.Connection
connection1.ConnectionString="driver={SQLServer};"&_
"server=Myserver;uid=sa;pwd=password;database=pubs"
connection1.ConnectionTimeout=30
connection1.Open
'使用DSN和ODBC标记打开连接。
Setconnection2=NewADODB.Connection
connection2.ConnectionString="DSN=Pubs;UID=sa;PWD=password;"
connection2.Open
'使用DSN和OLEDB标记打开连接。
Setconnection3=NewADODB.Connection
connection3.ConnectionString="DataSource=Pubs;UserID=sa;Password=password;"
connection3.Open
'使用DSN和单个参数而非连接字符串打开连接。
Setconnection4=NewADODB.Connection
connection4.Open"Pubs","sa","pwd"
EndSub
注意:
如果没有复选“引用”对话框中的DataAccessObject,程序会出错。
在上面的程序段中,先定义了4个Connection对象的变量。
这4个变量分别对应于4种不同的连接方式。
语句Setconnection1=NewADODB.Connection是创建一个新的Connection对象,然后再调用Connection对象的Open方法来打开数据库连接。
4.ConnectionTimeout属性
ConnectionTimeout属性设置或返回指示等待连接打开的时间的长整型值(单位为秒)。
其默认值为15,指示在终止尝试和产生错误前建立连接期间所等待的时间。
如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用Connection对象的ConnectionTimeout属性。
如果打开连接前所经过的时间超过ConnectionTimeout属性上设置的时间,将产生错误并且ADO将取消该尝试。
如果将该属性设置为零,ADO将无限等待直到连接打开。
5.DefaultDatabase属性
DefaultDatabase属性可设置或返回指定Connection对象上默认数据库的名称。
例:
使用Connection对象的DefaultDababase属性的示例代码。
PublicSubDefaultDatabase_Example()
Dimconnection1AsADODB.Connection
Setconnection1=NewADODB.Connection
connection1.ConnectionString="driver={SQLServer};"&_
"server=Myserver;uid=sa;pwd=password"
cnn1.Open
cnn1.DefaultDatabase="pubs"
EndSub
6.IsolationLevel属性
IsolationLevel属性指出Connection对象如何处理对象。
7.Mode属性
Mode属性设置或返回以下某个ConnectModeEnum的值,指示用于更改在Connection中的数据的可用权限。
▲AdModeUnknown:
默认值。
表明权限尚未设置或无法确定。
▲AdModeRead:
表明权限为只读。
▲AdModeWrite:
表明权限为只写。
▲AdModeReadWrite:
表明权限为读/写。
▲AdModeShareDenyRead:
防止其他用户使用读权限打开连接。
▲AdModeShareDenyWrite:
防止其他用户使用写权限打开连接。
▲AdModeShareExclusive:
防止其他用户打开连接。
▲AdModeShareDenyNone:
防止其他用户使用任何权限打开连接。
8.Provider属性
Provider属性指出当前数据提供者的名字,或者是使用Open()方法时没有指定名字的情况下所使用的提供者名。
但是,调用Open方法时如果在多处指定提供者可能会产生无法预料的后果。
如果没有指定提供者,该属性将默认为MSDASQL(MicrosoftOLEDBProviderforODBC)。
例:
使用Connection对象的Provider属性的示例代码。
PublicSubProvider_Example()
Dimconnection1AsADODB.Connection
Setconnection1=NewADODB.Connection
connection1.Provider="Microsoft.Jet.OLEDB.3.51"
connection1.Open"C:
\samples\northwind.mdb","admin",""
EndSub
9.State属性
State属性对所有可应用对象都可用,它用来说明其对象状态是打开或关闭的。
可以随时使用State属性来确定指定对象的当前状态。
该属性是只读的,并返回下列常量之一的长整型值。
▲AdStateClosed:
默认值,指示对象是关闭的。
▲AdStateOpen:
指示对象是打开的。
▲AdStateConnecting:
指示Recordset对象正在连接。
▲AdStateExecuting:
指示Recordset对象正在执行命令。
▲AdStateFetching:
指示Recordset对象的行正在被读取。
例:
使用Connection对象的State属性的示例代码。
PublicSubState_Example()
Dimconnection1AsADODB.Connection
DimstatestringASString
Setconnection1=NewADODB.Connection
connection1.ConnectionString="DSN=Pubs;UID=sa;PWD=password;"
connection1.Open
SelectCaseconnection1.State
caseadStateClosed
statestring="adStateClosed"
caseadStateOpen
statestring="adStateOpen"
EndSelect
'显示连接的状态。
MsgBox"connection1.State:
",,statestring
EndSub
Connection对象的方法
Connection对象的方法用来管理事务、执行命令、打开和关闭连接。
需注意的是,ADO对象所支持的方法是独立于当前所使用的数据源的。
例如一个OLEDB数据源不必支持OLEDB规范的全部功能。
1.BeginTrans方法
BeginTrans方法开始一个连接到数据源的新事务,即启动一个新的事务。
与之相应的还有CommitTrans和RollbackTrans方法。
CommitTrans保存所有的更改并结束当前事务,它也可以用来启动一个新的事务。
RollbackTrans取消当前事务中所做的任何更改并结束事务,同CommitTrans类似,它也可以用来启动一个新的事务。
它们的语法为:
Object.BeginTrans
Object.CommitTrans
Object.RollbackTrans
需注意,并非所有提供者都支持事务。
需验证提供者定义的属性TransactionDDL是否出现在Connection对象的Properties集合中,如果在则表示提供者支持事务。
如果提供者不支持事务,调用其中的某个方法将返回错误。
一旦调用了BeginTrans方法,在调用CommitTrans或RollbackTrans结束事务之前提供者将不再立即提交所做的任何更改。
例:
使用Connection对象的BeginTrans、CommitTrans和RollbackTrans方法的示例代码。
PublicSubBegiTrans_Example()
Dimcnn1AsADODB.Connection
DimrstTitlesAsADODB.Recordset
DimstrCnnAsString
DimstrTitleAsString
DimstrMessageAsString
'打开连接。
strCnn="Provider=sqloledb;DataSource=srv;InitialCatalog=pubs;UserId=sa;Password=;"
Setcnn1=NewADODB.Connection
cnn1.OpenstrCnn
'打开Titles表
SetrstTitles=NewADODB.Recordset
rstTitles.CursorType=adOpenDynamic
rstTitles.LockType=adLockPessimistic
rstTitles.Open"titles",cnn1,,,adCmdTable
rstTitles.MoveFirst
cnn1.BeginTrans
'在记录集中循环并询问是否想要更改指定标题的类型.
DoUntilrstTitles.EOF
IfTrim(rstTitles!
Type)="psychology"Then
strTitle=rstTitles!
Title
strMessage="Title:
"&strTitle&vbCr&"Changetypetoselfhelp?
"
'更改指定雇员的标题
IfMsgBox(strMessage,vbYesNo)=vbYesThen
rsttitles!
Type="self_help"
rstTitles.Update
EndIf
EnfIf
rstTitles.MoveNext
Loop
'询问用户是否想提交以上所做的全部更改
IfMsgBox("Saveallchanges?
",vbYesNo)=vbYesThen
cnn1.CommitTrans
Else
cnn1.RollbackTrans
EndIf
'打印记录集中的当前数据。
rstTitiles.Requery
rstTitles.MoveFirst
DoWhileNotrstTitles.EOF
Debug.PrintrstTitles!
Title&"-"&rstTitles!
Type
rstTitles.MoveNext
Loop
'恢复原始数据,因为这是一个演示
rstTitles.MoveFirst
DoUntilrstTitles.EOF
IfTrim(rstTitles!
Type)="self_help"Then
rstTitles!
Type="paychology"
rstTitles.Update
EndIf
rstTitles.MoveNext
Loop
rstTitles.Close
cnn1.Close
EndSub此例更改了数据库中Titles表中所有心理学书籍的类型。
在BeginTrans方法启动事务将所有对Titles表的更改隔离后,CommitTrans方法将保存更改。
可使用Rollback方法撤消用Update方法保存的更改。
2.Open方法
Open方法打开一个数据源的连接,语法如下:
connection.OpenConnectionString,UserID,Password,OpenOptions
参数说明:
▲ConnectionString:
这是一个可选的字符串,它包含了连接信息。
▲UserID:
可选的字符串,它包含了建立连接时所使用的用户名称。
▲Password:
可选的字符串,它包含了建立连接时所使用的密码。
▲OpenOptions:
可选的字符串,它包含了建立连接时所使用的连接方式。
3.Close方法
Close方法关闭一个到数据源的连接。
在关闭的同时,此连接所使用的任何资源都会被释放。
它的语法如下:
Object.Close
例:
使用Connection对象的Open和Close方法的示例代码。
PublicSubOpenClose_Example()
DimconnAsADODB.Connection
'OpentheConnectio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库