<p><font face="Verdana">CursorType、LockType 和 EditMode 属性范例 (VB)</font></p><font face="Verdana">
<p><br/>本范例演示在打开 Recordset 前设置 CursorType 和 LockType 属性,还显示不同情况下 EditMode 属性的值。运行此过程需要 EditModeOutput 函数。</p>
<p>Public Sub EditModeX()</p>
<p> Dim cnn1 As ADODB.Connec
tion<br/> Dim rstEmployees As ADODB.Recordset<br/> Dim strCnn As String</p>
<p> ' Open recordset with data from Employee table.<br/> Set cnn1 = New ADODB.Connection<br/> strCnn = "Provider=sqlo
LEDb;" & _<br/> "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "<br/> cnn1.Open strCnn<br/> <br/> Set rstEmployees = New ADODB.Recordset<br/> Set rstEmployees.ActiveConnection = cnn1<br/> rstEmployees.CursorLocation = adUseClient<br/> rstEmployees.CursorType = adOpenStatic<br/> rstEmployees.LockType = adLockBatchOptimistic<br/> rstEmployees.Open "employee", , , , adCmdTable</p>
<p> ' Show the EditMode property under d
IFferent editing<br/> ' states.<br/> rstEmployees.AddNew<br/> rstEmployees!emp_id = "T-T55555M"<br/> rstEmployees!fname = "temp_fname"<br/> rstEmployees!lname = "temp_lname"<br/> EditModeOutput "After AddNew:", rstEmployees.EditMode<br/> rstEmployees.UpdateBatch<br/> EditModeOutput "After UpdateBatch:", rstEmployees.EditMode<br/> rstEmployees!fname = "test"<br/> EditModeOutput "After Edit:", rstEmployees.EditMode<br/> rstEmployees.Close<br/> <br/> ' Delete new record because this is a demonstration.<br/> cnn1.Execute "DELETE FROM employee WHERE emp_id = 'T-T55555M'"</p>
<p>End Sub</p>
<p>Public Function EditModeOutput(strTemp As String, _<br/> intEditMode As Integer)</p>
<p> ' Print report based on the value of the EditMode <br/> ' property.<br/>
debug.Print strTemp<br/> Debug.Print " EditMode = ";</p>
<p> Select Case intEditMode<br/> Case adEditNone<br/> Debug.Print "adEditNone"<br/> Case adEditInProgress<br/> Debug.Print "adEditInProgress"<br/> Case adEditAdd<br/> Debug.Print "adEditAdd"<br/> End Select</p>
<p>End Function</p>
<p></font> </p>