C# 如何对ACCESS数据库里的表 重命名(请详细,最好有代码)

2025-01-07 02:01:06
推荐回答(2个)
回答1:

你好,这个属于sql语句,按照下面就可以实现:
1.select * into t from 原表
2.drop table 原表
3.重建新表(原表的结构)
4.insert into 新表(字段) select * from t

对于这样的SQL 语法:Alter Table OldTableName Rename to NewTableName
在Access 和SQL Server 2000中运行此语句均出错,所以只有用先建后删的方法间接改表名了。

回答2:

//add Interop.ADOX.dll and adodb.dll into Preference firstly.
....
using ADOX;//Interop.ADOX.dll
using ADODB;//\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Common\adodb.dll
....
//rename table
        public void RenameTable(string fileName, string oldTableName, string newTableName)
        {
            string accessConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
            ADODB.Connection databaseConnection = new ADODB.Connection();
            ADOX.Catalog catalog = new ADOX.Catalog();
            try
            {
                databaseConnection.Open(accessConnection, null, null, -1);
                catalog.ActiveConnection = databaseConnection;
                Table table = catalog.Tables[oldTableName];
                table.Name = newTableName;
            }
            catch { }
            finally { databaseConnection.Close(); }
        }