VB.net删除节点,数据库,文件
阅读原文时间:2023年07月16日阅读:1

Private Sub mnuDel_Click()
'删除节点
Dim sKey As String
'Dim sFile As String
Dim oFS As FileSystemObject
Dim sPathFile As String
Dim sIndex As String
Dim sFlag As String
Set oFS = New FileSystemObject
On Error Resume Next
If MsgBox("确定要删除此类别[" & TreeView1.SelectedItem.Text & "]", vbYesNo, "静态信息") = vbYes Then
    sKey = TreeView1.SelectedItem.Key
    sIndex = TreeView1.SelectedItem.Index
'    sFile = sContentPath & sKey & "*" & ".htm"
'    sFlag = Check(sIndex)
sFlag = Len(sKey) - 1
If RemoveInfo(sKey) Then
TreeView1.Nodes.Remove TreeView1.SelectedItem.Index
sPathFile = Dir(sContentPath)
While (sPathFile <> "")
If Mid(sPathFile, 2, sFlag) = Right(sKey, Len(sKey) - 1) Then
'                oFS.DeleteFile sPathFile, True
Kill sContentPath & sPathFile
End If
sPathFile = Dir
Wend
        If TreeView1.SelectedItem.Children = 0 Then
           TreeView1.SelectedItem.Image = "closed"
        End If
    End If
End If
End Sub

补充函数Dir用法,Dir(Path)遍历指定目录下的所有文件,第一次返回第一个文件,如果不想重复遍历,下一次调用时不要加参数。

函数Kill用法,Kill(Path&file)删除绝对路径下的文件,不可以缺少目录(或者只写文件名)。

While….Wend循环,类似于C语言的While循环。

If嵌套调用,If…Then…Elseif..Then….EndIf。

Private Function RemoveInfo(sSearch As String) As Boolean
Dim sSQL As String
Dim objDataAccess As clsDataAccess
RemoveInfo = False
On Error GoTo errHandle
'    sSQL = "Delete From BCCB_Info Where Id=" & Right(sSearch, Len(sSearch) - 1)
sSQL = "Delete From BCCB_Info Where Id like '" & Right(sSearch, Len(sSearch) - 1) & "%'"
Set objDataAccess = New clsDataAccess
If objDataAccess.ExecSQL(sSQL) Then RemoveInfo = True

Set objDataAccess = Nothing
Exit Function
errHandle:
    RemoveInfo = False
    Call WriteLog(DEBUG_LEVEL, "frmBCCBInfo.RemoveInfo Error" & err.Description)
    Set objDataAccess = Nothing
End Function

补充语法:

操作数据库过程:

声明一个连接,建立或者实例化一个连接,准备好SQL数据库语句,执行语句,释放连接(适用于Access)。

声明一个连接,建立或者实例化一个连接,声明一个数据集,建立或者实例化一个数据集,准备SQL数据库语句,执行数据库语句,释放数据集,释放连接(适用于ADO.RecordSet)。