VB编制程序进行实时采集的严重问题!

sinat_20388693 2015-03-27 09:29:22
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public sql As String

Private Sub Timer1_Timer()
Call ReadDA100(m_GetDA100(), COM1) '采集DA100
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path & "\数据库\" & bisoshi & ".accdb" & ";Jet OlEDB:Database "
sql = "select * from" & " " & biaoshi & " order by 测试时间 asc"
rs.Open sql, cn, 1, 3
rs.AddNew
rs.Fields(0) = time_start(j, i)
rs.Fields(1) = Format(Now, "yyyy/mm/dd hh:mm:ss")
rs.Fields(2) = strQiHouLeiXing
rs.Fields(3) = strHuanJingWenDu(j, i)
rs.Update
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

上面的这段程序用来实时采集温度数据的,DA100模块未列出来,现在有个问题,就是采集总在23:58分左右中断,不知为何?
急请解决!
...全文
205 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
crycoming 2015-03-30
  • 打赏
  • 举报
回复

Public cn  As  ADODB.Connection      'New  去除
Public rs   As  ADODB.Recordset       'New  去除
Public sql  As String  
Private Sub Timer1_Timer()                              
Call ReadDA100(m_GetDA100(), COM1)                '采集DA100 
set cn=new   ADODB.Connection                                
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path & "\数据库\" & bisoshi & ".accdb" & ";Jet OlEDB:Database "                             
sql = "select * from" & " " & biaoshi & " order by 测试时间 asc"
set rs=new ADODB.Recordset                                   
rs.Open sql, cn, 1, 3                              
rs.AddNew                             
rs.Fields(0) = time_start(j, i)                             
rs.Fields(1) = Format(Now, "yyyy/mm/dd hh:mm:ss")                             
rs.Fields(2) = strQiHouLeiXing                            
rs.Fields(3) = strHuanJingWenDu(j, i)                            
rs.Update                            
rs.Close                            
Set rs = Nothing                         
cn.Close                          
Set cn = Nothing
End Sub
vansoft 2015-03-30
  • 打赏
  • 举报
回复
为什么不用insert语句?
笨狗先飞 2015-03-30
  • 打赏
  • 举报
回复
Set rs = Nothing Set cn = Nothing 这两句删掉
Tiger_Zhao 2015-03-27
  • 打赏
  • 举报
回复
将系统时间更改为 23:55,单步调试程序,看在哪里卡住了。
sinat_20388693 2015-03-27
  • 打赏
  • 举报
回复
2楼,没有错误信息,就是程序没反应,然后打开数据库发现在23:58分左右就没记录了
sinat_20388693 2015-03-27
  • 打赏
  • 举报
回复
回复1楼,Timer只设置了它的intervaal为65000,其它的没啥设置了。
Tiger_Zhao 2015-03-27
  • 打赏
  • 举报
回复
什么叫做中断!错误信息是什么?
看不出来变量 bisoshi、i、j、time_start()、strHuanJingWenDu() 和每次Timer()事件中的关系。
of123 2015-03-27
  • 打赏
  • 举报
回复
贴出你的 Timer 设置代码看看。 可能与跨子夜有关,系统 Time 归零了。
Metz 2015-03-27
  • 打赏
  • 举报
回复
引用 7楼Tiger_Zhao 的回复:
长时间运行会跑死,明显程序有错。比如内存泄漏什么的。
用任务管理器监视下程序的内存和句柄变化。
Tiger_Zhao 2015-03-27
  • 打赏
  • 举报
回复
长时间运行会跑死,明显程序有错。比如内存泄漏什么的。
用任务管理器监视下程序的内存和句柄变化。
crycoming 2015-03-27
  • 打赏
  • 举报
回复
曾经用Timer循环做长时间的重复工作,可能出现假死的,原因不明。后来采用任务计划定时启动程序解决。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧