此頁沒有內(nèi)容條目
內(nèi)容

Prepared 屬性范例

該范例通過打開兩個 Command 對象(一個是準備好的,另一個是未準備好的)演示 Prepared 屬性。

Public Sub PreparedX()

   Dim cnn1 As ADODB.Connection

   Dim cmd1 As ADODB.Command

   Dim cmd2 As ADODB.Command

   Dim strCnn As String

   Dim strCmd As String

   Dim sngStart As Single

   Dim sngEnd As Single

   Dim sngNotPrepared As Single

   Dim sngPrepared As Single

   Dim intLoop As Integer

   ' 打開連接。

   strCnn = "Provider=sqloledb;" & _

      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "

   Set cnn1 = New ADODB.Connection

   cnn1.Open strCnn

   ' 為相同命令(一個是準備好的,另一個是未準備好的)創(chuàng)建兩個命令對象。

   strCmd = "SELECT title, type FROM titles ORDER BY type"

   Set cmd1 = New ADODB.Command

   Set cmd1.ActiveConnection = cnn1

   cmd1.CommandText = strCmd

   Set cmd2 = New ADODB.Command

   Set cmd2.ActiveConnection = cnn1

   cmd2.CommandText = strCmd

   cmd2.Prepared = True

   ' 設(shè)置一個計時器,而后執(zhí)行未準備好的命令 20 次。

   sngStart = Timer

   For intLoop = 1 To 20

      cmd1.Execute

   Next intLoop

   sngEnd = Timer

   sngNotPrepared = sngEnd - sngStart

   ' 重置計時器,而后執(zhí)行準備好的命令 20 次。

   sngStart = Timer

   For intLoop = 1 To 20

      cmd2.Execute

   Next intLoop

   sngEnd = Timer

   sngPrepared = sngEnd - sngStart

   ' 顯示執(zhí)行結(jié)果。

   MsgBox "Performance Results:" & vbCr & _

      "   Not Prepared: " & Format(sngNotPrepared, _

      "##0.000") & " seconds" & vbCr & _

      "   Prepared: " & Format(sngPrepared, _

      "##0.000") & " seconds"

   cnn1.Close

End Sub