我需要获取我正在为其构建动态查询的表的 TOP_PK、IDENT_CURRENT、IDENT_INCR、IDENT_SEED,如下所示:
sGetSchemaCommand = String.Format("SELECT (SELECT TOP 1 [{0}] FROM [{1}]) AS TOP_PK, IDENT_CURRENT('[{1}]') AS CURRENT_IDENT, IDENT_INCR('[{1}]') AS IDENT_ICREMENT, IDENT_SEED('[{1}]') AS IDENT_SEED", pPrimaryKey, pTableName)
这里 pPrimaryKey 是表的主键列的名称,pTableName 是表的名称。
现在,当 Table_Name 包含“'”字符时,我遇到了问题。(例如 KIN'1)
当我使用上述逻辑并构建查询时,它将如下所示:
SELECT (SELECT TOP 1 [ID] FROM [KIL'1]) AS TOP_PK, IDENT_CURRENT('[KIL'1]') AS CURRENT_IDENT, IDENT_INCR('[KIL'1]') AS IDENT_ICREMENT, IDENT_SEED('[KIL'1]') AS IDENT_SEED
在这里,通过执行上述查询,我收到如下错误:
'1' 附近的语法不正确。字符串 ') AS IDENT_SEED' 后面的非闭合引号。
那么,谁能告诉我解决这个问题的最佳方法?