一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在Microsoft Visual Basic编辑器中,可以使用ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。
它是一种 PHP 存取数据库的中间函式组件,虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(API)。为了填补这个缺憾,因此才有 ADODB 的出现。一旦存取数据库的接口予以标准化,就能隐藏各种数据库的差异,若欲转换至其它不同的数据库,将变得十分容易
它是一个图形化的控件,就是VB里部件--控件--Microsoft ADO Data Control 6.0
ADO是一个数据库访问组件,可以在VB、VC、VC++程序中使用。它分为后面两种,ADODC和ADODB。
ADODB是ADO数据对象类别名称,一般在代码中编写,如Dim con as New ADODB.Connection
ADODC是一个图形化的控件,就是VB里部件--控件--Microsoft ADO Data Control 6.0。然后设置Adodc的,连接数据库。
ADODC和ADODB可以同时在一个程序中使用,也可以单独使用。
简单的说:
ADO是种连接数据库的方式
adodb是对象
adodc是控件(一种特殊的对象)
之前做数据库时,添加部件
Microsoft ADO Data control 6.0 (SP6)
然后再声明Private adoConn As New ADODB.ConnectionPrivate adoRec As New ADODB.Recordset然后就可以操作数据库了。因为现在要用到datagrid,网上说它的dataSource要指向一个ADO data控件。我现在又回头看一下以前做的程序,有些地方又糊涂了。我添加的ado data控件,添上以后,名字是adodc。而我声明的Private adoConn As New ADODB.Connection却是adodb。为什么我添加了一个adodc的控件,要声明为adodb?而不添加这个控件,程序又会出错?adodc并没没有connection成员?ADODB.Recordset和adodc.Recordset是一个东西吗?添加ado data control到底有什么用啊?又没有使用这个控件。
答:
你理解有误:1)可以这样讲ADODC是封装的ADODB控件,你在窗体上添加ADODC控件后,VB则自动为工程引用Microsoft ActiveX Data Objects 2.5 Library(即引用ADODB),然后你当然可以使用ADODB了。
2)如果你只想用ADODB而不使用ADODC,你正确的做法是从VB的工程--引用里引用 Microsoft ActiveX Data Objects 2.5 Library 然后就可以定义操作ADODB了,不必添加ADODC控件。
3)ADODC有connection成员: Adodc1.Recordset.ActiveConnection
4)ADODB.Recordset和adodc.Recordset都是记录集。
5)如果你想给datagrid绑定数据源可以绑定ADODC,也可以绑定ADODB: set datagrid1.dataSource = ADODC1 这是绑定ADODC,需要添加ADODC控件。
---------------- dim adoConn As New ADODB.Connectiondim adoRs As New ADODB.Recordset
...set datagrid1.dataSource = adoRs 这是绑定ADODB,需要引用ADODB
建议使用ADO,不要使用ADODC控件,ADO更好控制一点,比如对多个表进行输入,删除操作,为了保持数据的完整性,可以使用事务来控制:
引用ADO后:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
’混合验证方式的连接:
cn.ConnectionString = “Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=服务器别名/IP“
’集成验证方式的连接:
cn.ConnectionString = “Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=服务器别名/IP“
’设置客户端游标
cn.CursorLocation = adUseClient
cn.Open On
Error GoTo InsertErr
cn.BeginTrans ’开始事务
cn.Execute (“Insert Into 表1 values(’a1’,’b1’,’c1’)“)
cn.Execute (“Insert Into 表2 values(’a2’,’b2’,’c2’)“) ’......
cn.CommitTrans ’提交事务
Exit Sub
InsertErr:
cn.RollbackTrans ’回滚事务
MsgBox Err.Description
End Sub