上次书说道:为什么两幅图应用程序连接到数据库的步骤有差异,下面请听本人慢慢道来。
大家还记得介绍ODBC的时候最后提到数据源吗?大家在敲学生信息管理系统的时候也有配置数据源,可是大家在敲红皮书实例实例时并没有配置ODBC数据源也可以连上数据库啊!这就引出连接数据库的两种方式:有源链接和无源连接。
有源链接和无源连接的根本区别:是否配置DSN数据源。无源连接也不是不需要数据源,而是利用ADO对象通过代码连接。数据源由本地提供。
无源连接的相同点: 都是利用ADO模型的connection 对象连接数据源。
红皮书实例
一、Dim objCn As New Connection
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\数据库\实例1.mdb"
四、
Dim objCn As New Connection,strCn as string
strCn = "Provider= Microsoft.Jet.OLEDB.4.0;Persist Security Info = False;" & "Data Source = " & App.Path & "\数据库\db1.mdb"
objCn.Connectionstring = strCn
五、
Dim objCn As Connection , strcn as string
Set objCn = New Connection
strcn = "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info= False;" & "Data Source=" & App.Path & "\数据库\db1.mdb"
有源链接的相同点:都是利用ADO模型的connection 对象打开数据源文件
红皮书实例
二、Dim objCn As Connection
Set objCn = New Connection
objCn.Open "DSN = 实例2DSN"(系统DSN)
三、是用ADO data 控件的DataSource 属性绑定数据源
学生信息管理系统、 Dim cnn As ADODB.Connection
ConnectString = "FileDSN=student.dsn;UID=sa;PWD=1992"(文件DSN)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
通过有源链接和无源连接的对比大家现在应该解开前面的迷惑了吧!
附上本人的一张图和非本人的链接一个、方便大家更好的理解。(ODBC、OLE DB、 ADO的区别)
注:ODBC 是OLEDB的一个子集,但OLEDB有不能取代ODBC因为ODBC 标准的对象是基于SQL 的数据源(SQL-Based Data Source),而OLE DB 的对象则是范围更为广泛的任何数据存储。
小弟是菜鸟,有不对之处望斧正!