vb.net 重命名 Access 数据库中的表

问题描述

我正在制作一个应用程序,我想在其中重命名访问数据库表。我使用 OLEDBConnection 连接到数据库,并选择了我在注册时创建的带有 textBox.Text 的表格。在另一种形式中,我应该更改用户名,但是当我这样做时,我的选择表系统将崩溃。

那么问题是如何重命名 Access 数据库中的表?

(我看了一些教程,但是microsoft MSDN 对我来说不是很清楚)

这是我用来重命名用户名代码

  pro = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = Z:\Password manager\Password 
  Database\Database.accdb"
    connstring = pro
    myconn.ConnectionString = connstring
    Dim cmd As OleDbCommand = New OleDbCommand("UPDATE LogIN SET [Meno]='" & txtName.Text & 
     "',[Heslo]='" & EncryptText(txtPass.Text) & "',[E-mail]='" & txtMail.Text & "' WHERE  
      Meno= '" & txtName.Text & "'",myconn)
    If myconn.State = ConnectionState.Closed Then myconn.open()

    Try
        cmd.ExecuteNonQuery()
        cmd.dispose()
        MsgBox("Your name was changed")
    Catch ex As Exception
        MsgBox("Error")
    End Try
    myconn.Close()
    My.Settings.LogINSetting = txtName.Text
    My.Settings.Save()

解决方法

您可以使用 ADOX 来执行此操作。在您的项目中,添加对 Microsoft ADO Ext 的引用。 6.0 用于 DDL 和安全(在 COM 下)并使用 Catalog Object:

Dim ADOXCatalog As New ADOX.Catalog

ADOXCatalog.ActiveConnection = myconn
ADOXCatalog.Tables("CurrentTableName").Name = "NewTableName"