以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]判断服务器端文件夹和文件是否存在  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=142214)

--  作者:洮沙
--  发布时间:2019/10/21 14:32:00
--  [求助]判断服务器端文件夹和文件是否存在

编写了一下数据库备份代码:

 

 Dim cn As Connection = Connections("SQL2008数据源")
Dim lx As Integer = cn.SourceType
If lx = 2 Then
    Dim str As String = cn.ConnectionString
    Dim mc As String
    For Each s As String In str.split(";")
        If s.StartsWith("Initial Catalog") Then
            mc = s.split("=")(1)
        End If
    Next

 

计划在这添加一行判断服务器端是否存在“D:\\屠宰分割成本核算系统数据备份”文件夹,如果不存在,提示用户添加此文件夹。


    Dim bf As String = "D:\\屠宰分割成本核算系统数据备份\\"& format(Date.now,"yyyyMMddHHmmss") & ".bak"
    Dim Result As DialogResult
    Result = MessageBox.Show("是否现在【备份】数据库至服务器端【D:\\屠宰分割成本核算系统数据备份】目录下 ?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Dim cmd As New SQLCommand
        cmd.C
        cmd.CommandText = "use master;BACKUP DATABASE " & mc & "  TO DISK = \'" & bf & "\'  With FORMAT,CHECKSUM;"
        cmd.ExecuteNonQuery()
        Dim dr As DataRow = DataTables("日志").AddNew()
        dr("登录用户") = User.Name
        dr("操作时间") = Now
        dr("备份_路径") = bf
        dr("备份_文件名") = format(Date.now,"yyyyMMddHHmmss") & ".bak"
        dr("操作事项") = "数据备份"
        DataTables("日志").Save()

 

计划在这添加一行判断服务器端是否存在“bf”文件,如果存在,提示备份成功信息。

 

        Messagebox.Show("【备份】成功,保存到【" & bf & "】!","提示")

  Else
        Return
    End If
Else
    Messagebox.Show("非【SQL数据库】,请用其他方式备份!","提示")
End If

麻烦老师帮忙看一下,十分感谢!

[此贴子已经被作者于2019/10/21 15:15:59编辑过]

--  作者:有点蓝
--  发布时间:2019/10/21 15:22:00
--  
没有办法判断其它电脑是否存在某个文件夹或者文件。

这种应该作为程序发布的一项工作,在发布的时候,手工在服务器建好需要的文件夹。

只要sql执行没有弹出错误,备份肯定都是成功的。

--  作者:洮沙
--  发布时间:2019/10/21 15:27:00
--  回复:(有点蓝)没有办法判断其它电脑是否存在某个文...
好的,明白了。谢谢!