从文本框提供数据库路径

Giving Database path from textbox

我想通过在 vb 中提供文本框的路径而不是在运行时预先编写的路径来创建新的 MS Access 数据库。网

进口 ADOX Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click




    Try
        Dim cat As Catalog = New Catalog()

        cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=C:\Users\Anish Choudhary\Desktop\New folder\N.mdb;" & _
                    "Jet OLEDB:Engine Type=5")

        MessageBox.Show("Database Created Successfully")

        cat = Nothing


    Catch ex As Exception
        MessageBox.Show("Database already Exists")
    End Try
End Sub

结束Class

您可以只引用代码中的文本框。

假设您的代码在带有文本框的表单中

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
    Dim cat As Catalog = New Catalog()
    cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & txtFilePath & "N.mdb;" & _
                "Jet OLEDB:Engine Type=5")
    MessageBox.Show("Database Created Successfully")
    cat = Nothing
Catch ex As Exception
    MessageBox.Show("Database already Exists")
End Try
End Sub

不要使用文本框来获取文件夹路径,而是使用 NET 库提供的适当控件。它被称为FolderBrowserDialog 文本框不太适合这种操作。用户在输入正确的路径时可能会遇到很多问题,而 FolderBrowserDialog 的简单性允许在不手动输入任何内容的情况下到达正确的路径

Dim fbd = New FolderBrowserDialog()
fbd.Description = "Select a folder for the new database"
fbd.RootFolder = Environment.SpecialFolder.MyComputer
fbd.ShowNewFolderButton = True
If fbd.ShowDialog() = DialogResult.OK Then
    Try
        Dim filePath =  Path.Combine(fbd.SelectedPath, "N.mdb")
        Dim cat As Catalog = New Catalog()
        cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=" & filePath & _
                    "Jet OLEDB:Engine Type=5")
        MessageBox.Show("Database Created Successfully")
        cat = Nothing
    Catch ex As Exception
        MessageBox.Show("Database already Exists")
    End Try
End If