当我运行此脚本时,一切正常。但是使用方法1的记录插入不会给出任何结果:
Sub ADOMYSQL()
Dim dbc As ADODB.Connection
Dim rs As ADODB.Recordset
Dim conn As String
Set dbc = New ADODB.Connection
Set rs = New ADODB.Recordset
conn = "DSN=mysql;Server=127.0.0.1;Uid=root;Pwd=1234;DATABASE=ndb;PORT=3306;DFLT_BIGINT_BIND_STR=1"
With dbc
.ConnectionString = conn
.ConnectionTimeout = 30
.Open
End With
Do While dbc.State > ADODB.adStateOpen
DoEvents
Loop
If dbc.State = ADODB.adStateClosed Then End
dbc.Execute "DROP TABLE IF EXISTS mytbl"
dbc.Execute "CREATE TABLE mytbl(id int not null primary key AUTO_INCREMENT, data varchar(20))"
'rs insert methode 2
With rs
Set .ActiveConnection = dbc
.CursorType = adOpenDynamic
.LockType = adLockBatchOptimistic
.Source = "SELECT * FROM mytbl"
.Open
.AddNew
!Data = "method 1"
.Update
.Close
End With
'rs insert methode 1
With rs
.Open "SELECT * FROM mytbl", conn, adOpenDynamic, adLockOptimistic
.AddNew
!Data = "method 2"
.Update
.Close
End With
End Sub
这里是MYSQL db中的结果: