这是我的一个类模块,让它每隔一秒执行一次,但是执行一段时间之后,报错:溢出堆栈空间。大侠们给点建议好吗?我怀疑是这个类没有写好
Option ExplicitDim ConnectionString As String
Dim ServerName As String
Dim DatabaseName As String
Dim TableName As String
Dim sql As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.RecordsetPublic Sub DataSave()
sql = "select * from " & TableName & " order by id asc"
conn.ConnectionString = ConnectionString
conn.Open
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
rs.AddNew
''''''''''''''''''''''''''''''''''''''
'给数据库各字段赋值
rs.Fields.Item("realtime").Value = Now
rs.Fields.Item("tp_Wt00101").Value = RealData(1)
rs.Fields.Item("tp_Wt00102").Value = RealData(2)
rs.Fields.Item("tp_Wt00103").Value = RealData(3)
rs.Fields.Item("tp_Wt00104").Value = RealData(4)
rs.Fields.Item("sv_Wt00101").Value = RealData(5)
rs.Fields.Item("sv_Wt00102").Value = RealData(6)
rs.Fields.Item("tp_St00101").Value = RealData(7)
rs.Fields.Item("tp_St00102").Value = RealData(8)
rs.Fields.Item("tp_St00103").Value = RealData(9)
rs.Fields.Item("tp_St00104").Value = RealData(10)
rs.Fields.Item("tp_St00105").Value = RealData(11)
rs.Fields.Item("tp_St00106").Value = RealData(12)
rs.Fields.Item("pr_Neg001").Value = RealData(13)
rs.Fields.Item("pr_Deo001").Value = RealData(14)
rs.Fields.Item("pr_Ma001").Value = RealData(15)
rs.Fields.Item("tp_Ma001").Value = RealData(16)
rs.Fields.Item("val_Vac001").Value = RealData(17)
rs.Fields.Item("val_Vlv001").Value = RealData(18)
rs.Fields.Item("sp_Ma001").Value = RealData(19)
rs.Fields.Item("cm_Ma001").Value = RealData(20)
rs.Fields.Item("val_CurA001").Value = RealData(21)
rs.Fields.Item("val_CurB001").Value = RealData(22)
rs.Fields.Item("val_CurC001").Value = RealData(23)
rs.Fields.Item("val_Pow001").Value = RealData(24)
rs.Fields.Item("val_Wrk001").Value = RealData(4)
rs.Fields.Item("mag_Prs001").Value = RealData(5)
rs.Fields.Item("sv_MagPrs001").Value = RealData(6)
''''''''''''''''''''''''''''''''''''''
If rs.RecordCount > 300 Then '保持数据库只有300条最新记录
rs.MoveFirst
rs.Delete adAffectCurrent
rs.Requery
End If
rs.Update
rs.Close
conn.Close
End SubPrivate Sub Class_Initialize()
ServerName = "DEMOHUNTER"
DatabaseName = "DemoHunter"
TableName = "RealData"
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=123;Initial Catalog=DemoHunter;Data Source=DEMOHUNTER"
End Sub
Option ExplicitDim ConnectionString As String
Dim ServerName As String
Dim DatabaseName As String
Dim TableName As String
Dim sql As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.RecordsetPublic Sub DataSave()
sql = "select * from " & TableName & " order by id asc"
conn.ConnectionString = ConnectionString
conn.Open
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
rs.AddNew
''''''''''''''''''''''''''''''''''''''
'给数据库各字段赋值
rs.Fields.Item("realtime").Value = Now
rs.Fields.Item("tp_Wt00101").Value = RealData(1)
rs.Fields.Item("tp_Wt00102").Value = RealData(2)
rs.Fields.Item("tp_Wt00103").Value = RealData(3)
rs.Fields.Item("tp_Wt00104").Value = RealData(4)
rs.Fields.Item("sv_Wt00101").Value = RealData(5)
rs.Fields.Item("sv_Wt00102").Value = RealData(6)
rs.Fields.Item("tp_St00101").Value = RealData(7)
rs.Fields.Item("tp_St00102").Value = RealData(8)
rs.Fields.Item("tp_St00103").Value = RealData(9)
rs.Fields.Item("tp_St00104").Value = RealData(10)
rs.Fields.Item("tp_St00105").Value = RealData(11)
rs.Fields.Item("tp_St00106").Value = RealData(12)
rs.Fields.Item("pr_Neg001").Value = RealData(13)
rs.Fields.Item("pr_Deo001").Value = RealData(14)
rs.Fields.Item("pr_Ma001").Value = RealData(15)
rs.Fields.Item("tp_Ma001").Value = RealData(16)
rs.Fields.Item("val_Vac001").Value = RealData(17)
rs.Fields.Item("val_Vlv001").Value = RealData(18)
rs.Fields.Item("sp_Ma001").Value = RealData(19)
rs.Fields.Item("cm_Ma001").Value = RealData(20)
rs.Fields.Item("val_CurA001").Value = RealData(21)
rs.Fields.Item("val_CurB001").Value = RealData(22)
rs.Fields.Item("val_CurC001").Value = RealData(23)
rs.Fields.Item("val_Pow001").Value = RealData(24)
rs.Fields.Item("val_Wrk001").Value = RealData(4)
rs.Fields.Item("mag_Prs001").Value = RealData(5)
rs.Fields.Item("sv_MagPrs001").Value = RealData(6)
''''''''''''''''''''''''''''''''''''''
If rs.RecordCount > 300 Then '保持数据库只有300条最新记录
rs.MoveFirst
rs.Delete adAffectCurrent
rs.Requery
End If
rs.Update
rs.Close
conn.Close
End SubPrivate Sub Class_Initialize()
ServerName = "DEMOHUNTER"
DatabaseName = "DemoHunter"
TableName = "RealData"
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=123;Initial Catalog=DemoHunter;Data Source=DEMOHUNTER"
End Sub
解决方案 »
- VB 关于创建带有变量名的文件夹
- 采用什么方式来认证制授权客户端电脑?
- VBA里面常用的文件读些方法是啥呢??????
- 请教各位高手,如何编程序,在vb程序运行的时候,将DataGrid控件中的数据导入到excel中去?
- 我用vb做视频点歌,请问我把以选歌曲放到一个临时数据库中。我先播放第一首,然后第二首,但我数据库有多首歌时,不知怎样控制,我使用的
- 请问,在excel中怎么实现某一数据点用它前后各半小时的数据平均值代替?
- 急:如何绑定日期控件?
- 一个关于读取INI文件的简单问题!!!!!!!
- to Chice_wxg(Chice)
- 谁有Form2.0中ToggleButton的资料或简单的例子?
- 请教:数据库查询问题?
- SQL语句问题?急!!
ServerName = "DEMOHUNTER"
DatabaseName = "DemoHunter"
TableName = "RealData"
ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=123;Initial Catalog=DemoHunter;Data Source=DEMOHUNTER"
End Sub
If rs.RecordCount >= 300 Then '保持数据库只有300条最新记录
rs.MoveFirst
rs.Delete adAffectCurrent
rs.Requery
End If
如果在 rs.adnew后 没有update 执行以上语句必然出错好像这个错误有点低级!!! (- ^ -)