Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从文本框中指定数据库路径_Vb.net_Ms Access_Ado.net - Fatal编程技术网

Vb.net 从文本框中指定数据库路径

Vb.net 从文本框中指定数据库路径,vb.net,ms-access,ado.net,Vb.net,Ms Access,Ado.net,我想创建一个新的MS Access数据库,方法是从文本框中指定路径,而不是在vb中运行时预先编写的路径。网 进口阿多克斯 公开课表格1 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.O

我想创建一个新的MS Access数据库,方法是从文本框中指定路径,而不是在vb中运行时预先编写的路径。网

进口阿多克斯 公开课表格1

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

End 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

使用网络库提供的适当控件,而不是使用文本框获取文件夹路径。它被称为 文本框不适合这种操作。用户在键入正确的路径时可能会遇到很多问题,而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

我应该说这些方法都不起作用。在第一种情况下,您不允许更改添加自己参数的标准事件处理程序的签名,在第二种情况下,如果txtFilePath是文本框,则应使用txtFilePath.Text属性(如果用户忘记键入最后的反斜杠,mdb文件的连接可能会失败)当iam将Textbox作为参数传递时,方法1不起作用,但方法2已完成。您的代码在try块的第一行给出错误,即“'path'未声明。由于其保护级别,它可能处于可访问状态。”Path类在System.IO命名空间中定义,然后需要在包含以下代码的文件中添加此行:Imports System.IO