gpt4 book ai didi

C# - 创建一个包含作为关键字的列名的索引

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:15 24 4
gpt4 key购买 nike

我有一个创建 Access MDB 文件的 C# 程序。表和列的名称是固定的,我没有机会更改它们。不幸的是,其中一列被命名为“Group”。

我写的代码是这样的:

string indexSQL = buildIndexString(table.TableName);
//indexSQL = "CREATE INDEX comp ON ExpFactMap([Group]);"
new OleDbCommand(indexSQL, conn).ExecuteNonQuery();

当执行 ExecuteNonQuery() 时,出现语法错误。如果我使用除“组”以外的任何列,代码将正常工作。问题似乎是它将 Group 解释为关键字而不是列名。

有谁知道如何解决这个问题?在理想情况下,我会更改列的名称,但不幸的是,这不可能。

最佳答案

Group 不是您尝试在 DDL 语句中用作对象名称的唯一保留字:

//indexSQL = "CREATE INDEX comp ON ExpFactMap([Group]);"

不幸的是,“comp”也是一个保留字。参见 Problem names and reserved words in Access .

CREATE INDEX 语句中的保留字括起来:

CREATE INDEX [comp] ON ExpFactMap([Group]);

关于C# - 创建一个包含作为关键字的列名的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11399976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com