简体   繁体   中英

vb.net if database not found open a OpenFileDialog

I use following code to set a connection to my database: Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\FileRename v5.4.accdb") I wanted to extent this function by checking if the database exists and If NOT to open a FileOpenDialog to choose another database in another folder. I cant seem to get it to work because when I place the FileOpenDialog on my Main form it throws an Exception error.

Public Function Jokendb() As OleDbConnection
Dim FileName As String = Application.StartupPath & "\FileRename v5.4.accdb"
            If IO.File.Exists(FileName) Then
                Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\FileRename v5.4.accdb")
            Else
                'Dim result As DialogResult = OpenFileDialog1.ShowDialog()
                Dim str As String = OpenFileDialog1.FileName.ToString()
                'If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    
                ' Get the file name.
                Dim path As String = OpenFileDialog1.FileName
                Try
                    ' Read in text.
                    Dim text As String = File.ReadAllText(path)
                    Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & text)
                Catch ex As Exception
    
                    ' Report an error.
                    Me.Text = "Error"
                End Try
                'End If
            End If
    End Function

I don't know why those line are comented but i think your code could work with these changes:

    Public Function Jokendb() As OleDbConnection
Dim FileName As String = Application.StartupPath & "\FileRename v5.4.accdb"
            If IO.File.Exists(FileName) Then
                Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\FileRename v5.4.accdb")
            Else
               OpenFileDialog1.ShowDialog()
                'Dim str As String = OpenFileDialog1.FileName.ToString()
                'If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    
                ' Get the file name.

                 Dim path As String = ""
                    If OpenFileDialog1.filename <> "" Then
                        path = OpenFileDialog1.FileName
                    End If
                Try
                    ' Read in text.
                    Dim text As String = File.ReadAllText(path)
                    Return New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & text)
                Catch ex As Exception
    
                    ' Report an error.
                    Me.Text = "Error"
                End Try
                'End If
            End If
    End Function

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM