在我的程序中,我想使用定时器每隔30秒去连接一次数据库,每次连接以后,再从头到至尾的把表遍历一次,取出所有的数据,程序如下:
Private Sub Timer1_Timer()
Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQL Server};Server=" & servName & ";UID=" & userName & ";PWD=" & userPwd & ";Database=" & dbName
cn.OpenSet rst = New ADODB.Recordset
'Set rst1 = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")While Not rst.EOF()
longitude = rst!lon
latitude = rst!lat
speed = rst!speed
direct = rst!direct
debug.print longitude
debug.print latitude
debug.print speed
debug.print direct
rst.MoveNext
Wend
End Sub
我的本意是想连接了数据库以后遍历了表中的所有数据一次以后就停止,等到下次连接数据库的时候再去读取表中的数据。但是编译的时候,程序在读完了一次表以后,又开始去读第二次了,并没有如我所愿的那样停止下来,这是怎么回事了?该如何解决了?请教各位高手!
Private Sub Timer1_Timer()
Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQL Server};Server=" & servName & ";UID=" & userName & ";PWD=" & userPwd & ";Database=" & dbName
cn.OpenSet rst = New ADODB.Recordset
'Set rst1 = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")While Not rst.EOF()
longitude = rst!lon
latitude = rst!lat
speed = rst!speed
direct = rst!direct
debug.print longitude
debug.print latitude
debug.print speed
debug.print direct
rst.MoveNext
Wend
End Sub
我的本意是想连接了数据库以后遍历了表中的所有数据一次以后就停止,等到下次连接数据库的时候再去读取表中的数据。但是编译的时候,程序在读完了一次表以后,又开始去读第二次了,并没有如我所愿的那样停止下来,这是怎么回事了?该如何解决了?请教各位高手!
解决方案 »
- textbox的行数
- 如何取得当前操作系统版本和当前桌面路径?
- 在VBS里如何创建MSHTML.HTMLDocument对象?
- 一个问题,关于ProgIDFromCLSID的问题,一运行就错误,看看吧,这段程序在一个FROM中加一个COMMAND1就行了
- 主键问题
- 调用access报表,再线等待
- 关注非典型性肺炎,散分!跟啊!
- .mdf与.ldf文件是如何得到的,有没有用VB创建数据库后直接在程序中通过类似于restore database的方法创建各数据表及表中数据?
- 请问怎么实现ACCESS数据库中数组的存取
- 很菜的一个菜鸟问题.
- 我的是中专文凭,会计专业,,,,自学VB,成功开发过工资管理和进销存管理
- 关于事务处理与数据库连接问题。高分送。UP有分。
另外把连接这部分——》
[Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQL Server};Server=" & servName & ";UID=" & userName & ";PWD=" & userPwd & ";Database=" & dbName
cn.Open
]
放到sub main 中,程序启动后一建立好连接直到整个程序结束释放 cn.close set cn=nothing
set rst=nothing 在你的每次Timer1_Timer后释放