第一次写ADO的代码,不知道应写在哪里?
请问下面这段例子代码应该写在哪里?
=============以下是代码===========
Dim cnn1 as adodb.connection
Dim rec1 as adodb.recordset
dim str1 as string
Set cnn1 = new adodb.connection
Set rec1 = new adodb.recordset
cnn1.open= "DSN=dbtmp "
str1= "select * from list1 "
rec1=cnn1.execute str1
cnn1.close
rec1.close
=========以上是代码========
这段是全部写在Private Sub Form_load()....End Sub 里面吗?
还是要把Set cnn1、rec1的部分写在外面,
还是要把cnn1.close的部分写在外面?
多谢!
[解决办法]
public sub aaa
Dim cnn1 as adodb.connection
Dim rec1 as adodb.recordset
dim str1 as string
Set cnn1 = new adodb.connection
Set rec1 = new adodb.recordset
cnn1.open= "DSN=dbtmp "
str1= "select * from list1 "
rec1=cnn1.execute str1
cnn1.close
rec1.close
end sub
///这是一个过程 你放到哪里执行都可以了
[解决办法]
如果你的连接要在同一个窗口别的事件里用,那么连接open时就写在formload里面,close写在formunload里.
如果连接在整个工程里使用用,那么就在公共模块里设一个连接公共变量,然后在整个程序退出时再关闭.
[解决办法]
Dim cnn1 As adodb.connection
Dim rec1 As adodb.Recordset
Dim str1 As String
Private Sub Form_Load()
Set cnn1 = New adodb.connection
Set rec1 = New adodb.Recordset
cnn1.open = "DSN=dbtmp "
str1 = "select * from list1 "
rec1=cnn1.execute str1
End Sub
Private Sub Form_Unload(Cancel As Integer)
cnn1.Close
rec1.Close
End Sub
Private Sub Command1_Click()
Debug.Print rec1.filed(0)
End Sub
[解决办法]
set rec1=cnn1.execute(str1)
[解决办法]
现在也一直在讨论这个问题!
是用了就马上关闭连接呢,(及时释放资源),用的时候再打开(消耗资源)
还是一直打开(保留资源占用),用的时候直接取数据!
具体情况具体分析吧,看你采数据是否频繁,自己寻找最佳方案了!
[解决办法]
Dim cnn1 as adodb.connection
Dim rec1 as adodb.recordset
dim str1 as string
Set cnn1 = new adodb.connection
Set rec1 = new adodb.recordset
cnn1.open= "DSN=dbtmp "
str1= "select * from list1 "
rec1=cnn1.execute str1
cnn1.close
rec1.close
改成函数 要操作数据库的时候调用下比较好