C# 如何对ACCESS数据库里的表 重命名(请详细,最好有代码)
发布网友
发布时间:2022-04-24 08:49
我来回答
共2个回答
热心网友
时间:2022-04-08 02:01
你好,这个属于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中运行此语句均出错,所以只有用先建后删的方法间接改表名了。追问不能直接用
sp_rename重命名吗?
追答不可以的,acess使用标准的sql语法,rename无法正确运行,请用以上几个步骤进行,以前也遇到这样的问题,是经验.
热心网友
时间:2022-04-08 03:19
//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(); }
}