每秒更新一次数据库,可是记录下来的时间却顺序错乱,这是为什么呢?该如何解决
每秒更新一次数据库,可是记录下来的时间却顺序错乱,这是为什么呢?
Private Sub Timer1_Timer()
Dim adoCnn As New ADODB.Connection
Dim adoRst As ADODB.Recordset
Dim sql As String
adoCnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=TEST;Data Source=PC2010010923NXM"
adoCnn.Open
sql = "insert into T1(DateTime) values('" & DateTime.Now() & "')"
adoCnn.Execute sql
End Sub
Timer的时间设置是1秒,就是每秒记录一次,可是我在数据库 T1 表中看到记下来的时间是错乱的,例如:
2010-1-18 20:39:41
2010-1-18 20:39:43
2010-1-18 20:39:44
2010-1-18 20:39:45
2010-1-18 20:39:47
2010-1-18 20:39:48
2010-1-18 20:39:50
2010-1-18 20:39:51
2010-1-18 20:39:52
2010-1-18 20:39:55
2010-1-18 20:39:56
2010-1-18 20:39:59
2010-1-18 20:40:00
2010-1-18 20:40:03
2010-1-18 20:40:04
2010-1-18 20:39:42
2010-1-18 20:39:46
2010-1-18 20:39:49
2010-1-18 20:39:53
2010-1-18 20:39:54
2010-1-18 20:39:57
2010-1-18 20:39:58
2010-1-18 20:40:01
2010-1-18 20:40:02
2010-1-18 20:40:05
请问这是为什么啊要怎么解决呢?
------解决方案--------------------
我觉得楼主的程序结构或许有问题.
按照楼主说的意思,应该只要每秒ADDNEW或INSERT一条记录就可以了,而观楼主的代码,似乎不光是添加了记录,还每秒重新连接了一次数据库.
------解决方案--------------------
时间字段 设定为索引主键
------解决方案--------------------
------解决方案--------------------
把连接对象、记录集对象的定义挪到程序开头,定义为全局变量;
把连接数据库的代码挪到Sub Timer1_Timer外,比如Sub Form_Load里面,且只运行一次;
再试试看。
Private Sub Timer1_Timer()
Dim adoCnn As New ADODB.Connection
Dim adoRst As ADODB.Recordset
Dim sql As String
adoCnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=TEST;Data Source=PC2010010923NXM"
adoCnn.Open
sql = "insert into T1(DateTime) values('" & DateTime.Now() & "')"
adoCnn.Execute sql
End Sub
Timer的时间设置是1秒,就是每秒记录一次,可是我在数据库 T1 表中看到记下来的时间是错乱的,例如:
2010-1-18 20:39:41
2010-1-18 20:39:43
2010-1-18 20:39:44
2010-1-18 20:39:45
2010-1-18 20:39:47
2010-1-18 20:39:48
2010-1-18 20:39:50
2010-1-18 20:39:51
2010-1-18 20:39:52
2010-1-18 20:39:55
2010-1-18 20:39:56
2010-1-18 20:39:59
2010-1-18 20:40:00
2010-1-18 20:40:03
2010-1-18 20:40:04
2010-1-18 20:39:42
2010-1-18 20:39:46
2010-1-18 20:39:49
2010-1-18 20:39:53
2010-1-18 20:39:54
2010-1-18 20:39:57
2010-1-18 20:39:58
2010-1-18 20:40:01
2010-1-18 20:40:02
2010-1-18 20:40:05
请问这是为什么啊要怎么解决呢?
------解决方案--------------------
我觉得楼主的程序结构或许有问题.
按照楼主说的意思,应该只要每秒ADDNEW或INSERT一条记录就可以了,而观楼主的代码,似乎不光是添加了记录,还每秒重新连接了一次数据库.
------解决方案--------------------
时间字段 设定为索引主键
------解决方案--------------------
------解决方案--------------------
把连接对象、记录集对象的定义挪到程序开头,定义为全局变量;
把连接数据库的代码挪到Sub Timer1_Timer外,比如Sub Form_Load里面,且只运行一次;
再试试看。