OleDbCommand:SQL语法错误

时间:2009-08-18 01:47:04

标签: c# sql ms-access oledb

我正在尝试在C#项目中的MS Access数据库上使用的ALTER TABLE命令出现问题。我正在尝试重命名列并同时更改类型。

这是我的命令:

string sqlCommand = "ALTER TABLE " + tableName + " CHANGE [" + oldColName + "] [" 
    + newColName + "] " + colType;

此命令有什么问题,我需要做些什么才能使其正常工作?


*编辑:

- 表,新列和旧列的类型和名称不是问题!

- 捕获的异常是:

  

ALTER TABLE语句中的语法错误。

- 最终字符串如下所示:

  

ALTER TABLE [Big List] CHANGE [num] [test] CHARACTER

- 连接提供者:

  

Microsoft.ACE.OLEDB.12.0

2 个答案:

答案 0 :(得分:2)

我认为您不能使用SQL重命名列并访问。

实现此目标的最佳方法是使用新名称创建新列,更新新列并删除旧列。

ALTER  TABLE [Big List] ADD COLUMN [num] YOURTYPE;
UPDATE [Big List] SET [num] = [test];
ALTER  TABLE [Big List] DROP COLUMN [test];

答案 1 :(得分:0)

尝试ALTER TABLE [Big List] ALTER COLUMN [num] [test] CHARACTER