每秒更新一次数据库,可是记录下来的时间却顺序错乱,这是为什么呢?该如何解决

每秒更新一次数据库,可是记录下来的时间却顺序错乱,这是为什么呢?
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一条记录就可以了,而观楼主的代码,似乎不光是添加了记录,还每秒重新连接了一次数据库.
------解决方案--------------------
时间字段 设定为索引主键
------解决方案--------------------
探讨
7、8楼讲得都很有道理
而且本人还发现个问题楼主这样的代码不会报错吗?
在计时器里面连续打开连接 但是没有关闭连接的语句。没有报连接已经打开的错, 不解。。。

------解决方案--------------------
把连接对象、记录集对象的定义挪到程序开头,定义为全局变量;
把连接数据库的代码挪到Sub Timer1_Timer外,比如Sub Form_Load里面,且只运行一次;
再试试看。