我在 ASP.NET 环境中使用 C# 进行编码,我需要编写一个函数来获取 SQL Server 数据库表并为其命名。
所以从 SQL 的角度来看,我需要这样做:
EXEC sp_rename 'OldTableName', 'NewTableName';
但问题是,有时提供给我的函数的(旧)表名可能是这样的:[dbo].[OldTableName] 并且据我所知,括号('['和']')不是名称本身的部分,以及“dbo”部分。
那么如何处理这种情况呢?
编辑:我能够想出 C# 代码来删除括号(虽然需要检查):
for (int i = 0; i < strTableName.Length; i++)
{
if (strTableName[i] == '[' ||
strTableName[i] == ']')
{
int j = i;
for (; j < strTableName.Length && strTableName[j] == strTableName[i]; j++) ;
int nRepeatCnt = j - i;
int nNumKeep = nRepeatCnt / 2;
int nNumRemove = nRepeatCnt - nNumKeep;
strTableName = strTableName.Remove(i, nNumRemove);
i += nNumKeep - 1;
}
}