vb rs1.ActiveConnection = conn是啥意思?有什么作用?请见下说明。谢谢。
setconn=NewADODB.Connectionconn.CursorLocation=adUseClientconn.Open"Provider=Microsof...
set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source='" & stra & "';Jet OLEDB:Database Password='y_h_a_80_w';persist security info=false;"
Set rs1 = New ADODB.Recordset
rs1.ActiveConnection = conn 展开
conn.CursorLocation = adUseClient
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source='" & stra & "';Jet OLEDB:Database Password='y_h_a_80_w';persist security info=false;"
Set rs1 = New ADODB.Recordset
rs1.ActiveConnection = conn 展开
2个回答
展开全部
谢邀。
在 ADO(ActiveX Data Objects,表示用户数据库中的数据结构和所包含的数据)中,对数据库的任何操作都先需要建立连接(Connection),操作结束后再断开。
可以通俗地理解为,你的程序是一个人A,你的数据库是另一个人B,A要想从B那儿知道点儿什么事儿(读),或者告诉B点儿什么事儿(写),需要先打电话给B(建立连接),打完电话后需要挂断电话(断开连接)。
前面 set conn = New ADODB.Connection 已经定义了一个 Connection 对象。现在 Set rs1 = New ADODB.Recordset 定义了一个 Recordset 对象(容纳一个来自数据库表的记录集,包含行、列),为了接下来的读写操作,需要先 rs1.ActiveConnection = conn 建立连接。
在 ADO(ActiveX Data Objects,表示用户数据库中的数据结构和所包含的数据)中,对数据库的任何操作都先需要建立连接(Connection),操作结束后再断开。
可以通俗地理解为,你的程序是一个人A,你的数据库是另一个人B,A要想从B那儿知道点儿什么事儿(读),或者告诉B点儿什么事儿(写),需要先打电话给B(建立连接),打完电话后需要挂断电话(断开连接)。
前面 set conn = New ADODB.Connection 已经定义了一个 Connection 对象。现在 Set rs1 = New ADODB.Recordset 定义了一个 Recordset 对象(容纳一个来自数据库表的记录集,包含行、列),为了接下来的读写操作,需要先 rs1.ActiveConnection = conn 建立连接。
追问
相当于 人A——set conn = ···
人B——Set rs1 = ···
打电话—— rs1.ActiveConnection = conn ???
那
conn.Open "Provider=····
是干啥的,相当于??
(我一直理解为
set conn = ···
conn.Open "Provider=······
是建立连接)
谢谢
追答
要理解这个问题,需要先理解面向对象程序设计中的一个理念,也即“万物皆对象”。还拿刚才的例子来说明。
“打电话”这一个举动是一个对象,包含了若干步骤(方法、属性),其中有一个步骤是拨号给B,也就是 conn.Open。
而数据库那头存在一个对象 Recordset,这个对象里包含了所有B这个人知道的信息,如果它想告诉A什么事儿,需要先确立跟A的连接,而不是跟C的,怎么确立呢?刚才我们知道A产生了一个“打电话”的对象,那么B只要跟这个对象交互也即跟A交互了,所以 rs1.ActiveConnection = conn。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询