2017-06-03 88 views

回答

0

查看记录集打开方法的LockType参数并使用adLockReadOnly。我不熟悉Oracle。您可能还需要将CursorType参数设置为adOpenForwardOnly。

例子:

Dim lobjADOConnection As ADODB.Connection 
Dim lobjADOData As ADODB.Recordset 
Dim lstrSQL As String 

Set lobjADOConnection = New ADODB.Connection 
lobjADOConnection.Open ... 

Set lobjADOData = New ADODB.Recordset 

lstrSQL = "<your query here>" 

lobjADOData.Open lstrSQL, lobjADOConnection, adOpenForwardOnly, adLockReadOnly '<===here 
If Not lobjADOData.BOF Then 
    lobjADOData.MoveFirst 
    Do While Not lobjADOData.EOF 
     DoEvents 
     . 
     . 
     . 

,或者如果你只是想将数据转储到工作表

Dim lobjTargetSheet As Worksheet 

Set lobjTargetSheet = ThisWorkbook.Sheets("<SomeSheetName>") 
With lobjTargetSheet 
    .Select 
    .Range("1:" & .UsedRange.Rows.count + 1).Delete xlUp 
    .Range("A1").Select 
    .Range("A1").CopyFromRecordset lobjADOData 
End With 
+0

你可以给它一些协议 – user3471254