Delete 方法范例
该范例使用 Delete 方法从 Recordset 删除指定的记录。
Public Sub DeleteX()
  Dim rstRoySched As ADODB.Recordset
  Dim strCnn As String
  Dim strMsg As String
  Dim strTitleID As String
  Dim intLoRange As Integer
  Dim intHiRange As Integer
  Dim intRoyalty As Integer
  ' 打开 RoySched 表。
      strCnn = "Provider=sqloledb;" & _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
  Set rstRoySched = New ADODB.Recordset
  rstRoySched.CursorLocation = adUseClient
  rstRoySched.CursorType = adOpenStatic
  rstRoySched.LockType = adLockBatchOptimistic
  rstRoySched.Open "SELECT * FROM roysched " & _
      "WHERE royalty = 20", strCnn, , , adCmdText
  ' 提示删除记录。
  strMsg = "Before delete there are " & _
      rstRoySched.RecordCount & _
      " titles with 20 percent royalty:" & vbCr & vbCr
  Do While Not rstRoySched.EOF
      strMsg = strMsg & rstRoySched!title_id & vbCr
      rstRoySched.MoveNext
  Loop
  strMsg = strMsg & vbCr & vbCr & _
      "Enter the ID of a record to delete:"
  strTitleID = UCase(InputBox(strMsg))
  ' 移动到记录并保存数据以使其可被恢复。
  rstRoySched.Filter = "title_id = '" & strTitleID & "'"
truncatedelete和drop的区别
  intLoRange = rstRoySched!lorange
  intHiRange = rstRoySched!hirange
  intRoyalty = rstRoySched!royalty
  ' 删除记录。
  rstRoySched.Delete
  rstRoySched.UpdateBatch
  ' 显示结果。
  rstRoySched.Filter = adFilterNone
  rstRoySched.Requery
  strMsg = ""
  strMsg = "After delete there are " & _
      rstRoySched.RecordCount & _
      " titles with 20 percent royalty:" & vbCr & vbCr
  Do While Not rstRoySched.EOF
      strMsg = strMsg & rstRoySched!title_id & vbCr
      rstRoySched.MoveNext
  Loop
  MsgBox strMsg
  ' 恢复数据,因为这只是演示。
  rstRoySched.AddNew
  rstRoySched!title_id = strTitleID
  rstRoySched!lorange = intLoRange
  rstRoySched!hirange = intHiRange
  rstRoySched!royalty = intRoyalty
  rstRoySched.UpdateBatch
  rstRoySched.Close
End Sub

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。